WO2019113903A1 - 一种编码单元划分决策方法、装置、编码器及存储介质 - Google Patents

一种编码单元划分决策方法、装置、编码器及存储介质 Download PDF

Info

Publication number
WO2019113903A1
WO2019113903A1 PCT/CN2017/116257 CN2017116257W WO2019113903A1 WO 2019113903 A1 WO2019113903 A1 WO 2019113903A1 CN 2017116257 W CN2017116257 W CN 2017116257W WO 2019113903 A1 WO2019113903 A1 WO 2019113903A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
decision result
level
coding unit
decision
Prior art date
Application number
PCT/CN2017/116257
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 US16/954,047 priority Critical patent/US11375192B2/en
Priority to PCT/CN2017/116257 priority patent/WO2019113903A1/zh
Priority to CN201780006045.1A priority patent/CN108702505B/zh
Priority to SG11202005658VA priority patent/SG11202005658VA/en
Publication of WO2019113903A1 publication Critical patent/WO2019113903A1/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present application relates to the field of video codec technology, and in particular, to a coding unit division decision method, apparatus, encoder, and storage medium.
  • CU is the basic unit of H.265 (High Efficiency Video Coding, also known as HEVC) encoding. It has a quadtree structure, CU is square, and the size can be 64 ⁇ 64. , 32 ⁇ 32, 16 ⁇ 16 and 8 ⁇ 8. In general, a CU level of size 64 ⁇ 64 is considered to be 0, a CU level of size 32 ⁇ 32 is 1, a CU level of size 16 ⁇ 16 is 2, and a CU level of size 8 ⁇ 8 is 3. In order to improve the coding performance, a CU with a hierarchy of less than 3 can be divided into four equivalent sub-CUs according to the recursive structure of the quadtree.
  • H.265 High Efficiency Video Coding, also known as HEVC
  • the division decision of the CU refers to the decision of the quadtree division of the CU, and the mode decision of the CU is the pointer to the Skip (an inter prediction mode), the Merge (motion merge mode), the interframe, and the intraframe of the CU.
  • Mode decision at present, for the CU partition decision, the top-down (Top-Down) method is used to traverse all CU levels; that is, the mode decision is started from the smaller CU, and all layers are recursively.
  • the hierarchical CU finally obtains the decision result based on all the mode decision results.
  • the partitioning decision is performed on the CU of level 2, the rate distortion cost of the current CU is calculated first, and then the rate distortion cost of the four sub-CUs of the current CU (level 3) is calculated separately, and finally the rate distortion cost of the current CU is calculated according to the calculation.
  • the rate-distortion cost of its four sub-CUs results in the division decision result of the current CU.
  • the top-down approach requires strict mode-by-layer decision making according to the level of the hierarchy, specifically, the CUs with smaller decision levels are first determined, and then the four sub-CUs of the current CU are determined, and all the rules are traversed according to such rules.
  • mode decisions are made for each CU level. Therefore, the amount of computation of the code is large, which in turn causes the coding speed to be low.
  • An object of the embodiments of the present application is to provide a coding unit division decision method, apparatus, encoder, and storage medium to improve coding speed.
  • an embodiment of the present application provides a coding unit division decision method, where the method includes:
  • the four sub-CUs of the target CU are respectively divided and determined, and the first partitioning decision result of each sub-CU is obtained;
  • determining a target partitioning decision result of the target CU is a second partitioning decision result, where the second partitioning decision result includes dividing the target CU into four sub-CU partitioning results, and the first sub-division corresponding to the four sub-CUs of the target CU Decision result.
  • the foregoing method further includes:
  • Determining the target division decision result of the target CU is: the second division decision result and the third division decision result, the optimal division decision result; wherein, the third division decision result includes the division result of not dividing the target CU, and the mode of the target CU Decision result.
  • the target segmentation decision result of determining the target CU is: the second segmentation decision result and the third segmentation decision result, the optimal segmentation decision result, including:
  • determining a target division decision result of the target CU is a second division decision result
  • the target division decision result of the target CU is the third division decision result.
  • the foregoing method further includes:
  • the target segmentation decision result of the target CU is determined to be a third partition decision result; wherein the third partition decision result includes a partition result that does not divide the target CU, and a mode decision result of the target CU.
  • the foregoing mode determining the target CU, obtaining a mode decision result for the target CU including:
  • the rate distortion cost for the target CU is calculated, and the mode decision result for the target CU is obtained.
  • the foregoing method further includes:
  • the target division decision result of the target CU is determined as follows: the second division decision result and the third division decision result are the optimal division decision result.
  • the foregoing four sub-CUs of the target CU perform a partitioning decision, and obtain a first partitioning decision result corresponding to each sub-CU, including:
  • the four sub-CUs of the target CU are respectively determined as the target CU, and the step of determining the current level of the target CU is returned.
  • obtaining the prediction level of the target CU according to the preset hierarchical prediction rule including:
  • the level of the left CU is determined as the prediction level of the target CU;
  • the level of the upper CU is determined as the prediction level of the target CU;
  • the largest of the hierarchy of the left CU and the upper CU is determined as the prediction level of the target CU;
  • the level of the reference CU is determined as the prediction level of the target CU, where the reference CU is: the CU in the previous frame of the video frame where the target CU is located, which is the same as the target CU;
  • an embodiment of the present application provides a coding unit division decision apparatus, where the apparatus includes:
  • a first obtaining module configured to obtain a target coding unit CU
  • a first determining module configured to determine a current level of the target CU
  • a second obtaining module configured to obtain a prediction level of the target CU according to a preset hierarchical prediction rule
  • a first determining module configured to determine whether the current level is smaller than the foregoing prediction level
  • a first decision module configured to perform a partitioning decision on each of the four sub-CUs of the target CU, and obtain a first partitioning decision result of each sub-CU;
  • a second determining module configured to determine whether the first partitioning decision result meets the first preset skip condition
  • a second determining module configured to determine, in a case that the second judging module determines that the result is YES, the target partitioning decision result of the target CU is a second partitioning decision result, where the second partitioning decision result includes dividing the target CU into four sub-CUs The result of the partitioning, and the first partitioning decision result corresponding to the four sub-CUs of the target CU respectively.
  • the foregoing apparatus further includes:
  • a second decision module configured to perform a mode decision on the target CU in the case that the second determination module determines that the result is negative, and obtain a second decision result for the target CU;
  • the third determining module is configured to determine a target segmentation decision result of the target CU as: a second partitioning decision result and an optimal partitioning decision result in the third partitioning decision result; wherein the third partitioning decision result includes not dividing the target CU partitioning The result, as well as the mode decision result of the target CU.
  • the foregoing third determining module is specifically configured to:
  • determining a target division decision result of the target CU is a second division decision result
  • the target division decision result of the target CU is the third division decision result.
  • the foregoing apparatus further includes:
  • a third decision module configured to perform a mode decision on the target CU when the first judgment module determines that the result is negative, and obtain a mode decision result for the target CU;
  • a third determining module configured to determine whether a mode decision result of the target CU meets a second preset skip condition
  • a fourth determining module configured to determine, in a case that the third determining module determines that the result is YES, the target dividing decision result of the target CU is a third dividing decision result; wherein the third dividing decision result includes not dividing the dividing result of the target CU And the result of the mode decision of the target CU.
  • the foregoing third decision module is specifically configured to:
  • the rate distortion penalty for the target CU is calculated, and a mode decision result for the target CU is obtained.
  • the foregoing apparatus further includes:
  • a fourth decision module configured to perform a partition decision on each of the four sub-CUs of the target CU, and obtain a first partition decision result corresponding to each sub-CU;
  • the fifth determining module is configured to determine a target partitioning decision result of the target CU as: a second partitioning decision result and an optimal partitioning decision result in the third partitioning decision result.
  • the fourth decision module is specifically configured to:
  • the third determination module determines that the result is no
  • the four sub-CUs of the target CU are respectively determined as the target CU according to a preset rule, and the first determining module is triggered.
  • the foregoing second obtaining module is specifically configured to:
  • the level of the left CU is determined as the prediction level of the target CU;
  • the level of the upper CU is determined as the prediction level of the target CU;
  • the largest of the hierarchy of the left CU and the upper CU is determined as the prediction level of the target CU;
  • the level of the reference CU is determined as the prediction level of the target CU, where the reference CU is: the CU in the previous frame of the video frame where the target CU is located, which is the same as the target CU;
  • an embodiment of the present application further provides an encoder, where the encoder is an encoder that uses any one of the foregoing coding unit division decision devices.
  • an embodiment of the present application further provides an encoder, including a processor and a memory, where
  • a memory for storing a computer program
  • the processor when used to execute a program stored on the memory, implements the method steps described in any of the coding unit partitioning decision methods described above.
  • the embodiment of the present application further provides a computer readable storage medium, where the computer readable storage medium stores a computer program, and when the computer program is executed by the processor, implements any one of the foregoing coding units.
  • the method steps described in the decision making method are divided.
  • an embodiment of the present application further provides a computer program product comprising instructions, when executed on a computer, causing a computer to perform the method steps described in any of the above coding unit division decision methods.
  • the embodiment of the present application further provides a computer program, when run on a computer, causing the computer to execute the method steps described in any of the above coding unit division decision methods.
  • the current level of the target CU is determined, and the prediction level of the target CU is obtained according to a preset hierarchical prediction rule; and whether the current level is smaller than the prediction level; Determining the four sub-CUs of the target CU separately, and obtaining the first partitioning decision result of each sub-CU; determining that the target CU's target partitioning decision result is the second when the first partitioning decision result satisfies the first preset skip condition The decision result is divided, wherein the second partitioning decision result includes a partitioning target CU being a partitioning result of the four sub-CUs, and a first partitioning decision result corresponding to the four sub-CUs of the target CU respectively.
  • the embodiment of the present application proposes a prediction level of the target CU, and compares the size relationship between the current level and the prediction level to determine a manner of performing the division decision, and obtains a first division decision result, where the first division decision result satisfies the first preset hop.
  • the target division decision result of the target CU is directly determined, and the mode decision of the target CU is not needed, the calculation amount is reduced, and the coding speed is improved.
  • FIG. 1 is a schematic flowchart of a coding unit division decision method according to an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of a specific coding unit K according to an embodiment of the present disclosure
  • FIG. 3 is a schematic structural diagram of four sub-coding units A, B, C, and D for the coding unit K of FIG. 2;
  • FIG. 4 is a schematic flowchart of a second coding unit division decision method according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a third coding unit division decision method according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a fourth coding unit division decision method according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a division decision for the sub-coding unit B of FIG. 2;
  • FIG. 8 is a schematic structural diagram of a division decision for the sub-coding unit B2 of FIG. 7;
  • FIG. 9 is a schematic structural diagram of a division decision for the sub-coding unit D in FIG. 7;
  • FIG. 10 is a schematic structural diagram of a division decision result obtained by performing a division decision on the coding unit K in FIG. 2;
  • FIG. 11 is a schematic structural diagram of a first coding unit division decision apparatus according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a second coding unit division decision apparatus according to an embodiment of the present disclosure.
  • FIG. 13 is a schematic structural diagram of a third coding unit division decision apparatus according to an embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a fourth coding unit division decision apparatus according to an embodiment of the present disclosure.
  • FIG. 15 is a schematic structural diagram of an encoder according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of a coding unit division decision method according to an embodiment of the present disclosure, where the method includes:
  • a coding unit is a basic unit of coding.
  • a coding unit has a quad-tree structure, a CU is square, and the size can be 64 x 64, 32 x 32, 16 x 16 and 8 x 8.
  • the video frame includes a plurality of coding units, and the video frame shown in FIG. 2 includes coding units E, F, G, and H. , J and K.
  • the target coding unit is a coding unit that is currently performing the division decision. As shown in FIG. 2, if the coding unit K is the coding unit that is currently performing the division decision, the coding unit is the embodiment of the present application. Target coding unit in .
  • the division decision for the coding unit may be: selection of the division manner of the coding unit, and in the case of dividing the coding unit, each sub coding unit obtained by the division Mode selection, or mode selection of the coding unit without dividing the coding unit.
  • the mode decision of the coding unit may be a selection of a Skip (skip), a Merge (merging), an interframe, an intra mode, etc. of the coding unit.
  • the division decision result of the coding unit may include two types: the first one is a comprehensive result of the mode decision result of all the sub coding units obtained by dividing the coding unit in a division manner of the coding unit; the second is not The mode decision result of the coding unit in the case of dividing the coding unit.
  • S102 Determine a current level of the target CU.
  • the current level refers to the level of the coding unit that is currently performing the partition decision, that is, the level of the target coding unit.
  • the coding unit has a quad-tree structure, in order to reflect the size before and after the coding unit is divided, it is usually represented by a hierarchical concept. Specifically, taking H.265 as an example, the largest CU is 64x64, and the size can be defined as 64 ⁇ 64.
  • the CU level is 0, the CU level is 32 ⁇ 32, the CU level is 1 with a size of 16 ⁇ 16, and the CU level is 8 with a size of 8 ⁇ 8.
  • the size of the CU can be directly determined according to the level of the CU. The smaller the level of the CU, the larger the size of the CU.
  • the coding unit K shown in FIG. 2 is taken as an example to describe the coding unit division decision method provided by the present application.
  • the target coding unit is a 64 ⁇ 64 coding unit K, and the coding units adjacent to the coding unit K have all completed the division decision.
  • a coding unit with a size of 64 ⁇ 64 is usually called a Coding Tree Unit (CTU), and a CTU is also the largest coding unit. Therefore, in the coding process, it is usually The CTU is selected as the initial target coding unit.
  • the coding unit K shown in FIG. 2 is actually a CTU. Therefore, it can be determined that the current level of the coding unit K is 0, by comparing the coding unit K with its adjacent coding unit.
  • the size relationship between the two can be determined that the level of the coding unit E shown in FIG. 2 is 1, the level of the coding unit F is 1, the level of the coding unit G is 2, the level of the coding unit H is 2, and the level of the coding unit J is Is 1.
  • S103 Obtain a prediction level of the target CU according to a preset hierarchical prediction rule.
  • the prediction level of the target coding unit may be obtained by referring to the level of the coding unit adjacent to the target coding unit.
  • the prediction level of the target CU is obtained according to a preset hierarchical prediction rule, it may be determined whether the level of the left CU of the target CU and/or the level of the upper CU are known.
  • the level of the left CU is determined as the prediction level of the target CU;
  • the level of the upper CU is determined as the prediction level of the target CU;
  • the largest of the hierarchy of the left CU and the upper CU is determined as the prediction level of the target CU;
  • the level of the reference CU is determined as the prediction level of the target CU, where the reference CU is: the CU with the same location as the target CU in the previous frame of the video frame where the target CU is located. ;
  • the left side CU and the upper side CU of the target CU refer to the CU on the left side and the CU on the upper side with reference to the upper left corner vertex of the target coding unit.
  • the left side CU of the coding unit K is the coding unit E
  • the upper side CU is the coding unit F.
  • the coding unit E has a level of 1, and the coding unit F
  • the level of the hierarchy is 1, according to the above rule, "If the hierarchy of the left CU and the upper CU are known, the largest of the hierarchy of the left CU and the upper CU is determined as the prediction hierarchy of the target CU. ", it can be determined that the prediction level of the coding unit K is 1.
  • S104 Determine whether the current level of the target CU is smaller than its prediction level.
  • the current level corresponding to the coding unit K is 0 and the prediction level is 1, and it can be seen that the current level of the coding unit K is smaller than the prediction level.
  • the smaller the level of the coding unit is the larger the coding unit is; that is, the size of the coding unit K is larger than the largest of the adjacent coding units, and the adjacent coding unit of the coding unit K is Divided into relatively small coding units, which means that the content of the region where the coding unit K is located is relatively complicated. Considering the similarity between adjacent coding units, dividing the coding unit K into smaller coding units may obtain better coding effects. Therefore, the probability that the coding unit K needs to be divided into four sub-coding units is relatively high.
  • the division decision is directly performed on the four sub coding units of the target coding unit.
  • the four sub coding units A and B for the coding unit K in FIG. Schematic diagram of C, D; respectively, the four sub-coding units A, B, C, D of the coding unit K are divided and determined, and the first division decision result of each sub-CU is obtained.
  • the four sub-CUs of the target CU are separately determined, and the first partitioning decision result corresponding to each sub-CU is obtained, and the four sub-CUs of the target CU are respectively determined as the target CU according to a preset rule. And returning to step S102.
  • the step of performing a partitioning decision on the four sub-CUs of the target CU, and obtaining the first partitioning decision result (S105) corresponding to each sub-CU may include:
  • the four sub-CUs of the target CU are respectively determined as the target CU, and the step of determining the current level of the target CU is returned.
  • the above-mentioned preset rule is actually the order of dividing decisions for four sub-coding units. Since the reference relationship between adjacent coding units is taken into account in the encoding process, the coding units need to be performed in a certain order.
  • the division decision may be specifically performed in the order of "Z" type, wherein the order of the "Z" type may also be referred to as a Zig-Zag sequence. Therefore, when the four sub-coding units of the target coding unit are subjected to the partitioning decision, the four sub-coding units need to be determined one by one as the target coding unit, and the above-mentioned step S102 is performed.
  • the division decision may be performed in the order of the “Z” type, and the four sub-coding units A and B of the above-described coding unit K are respectively performed.
  • the order in which the division decisions are made by C, D is: sub coding unit A ⁇ sub coding unit B ⁇ sub coding unit C ⁇ sub coding unit D.
  • the partitioning decision results a, b, c, and d of each sub-coding unit are obtained, and the decision results a, b are divided. Both c and d include the rate distortion penalty.
  • the coding unit K if the four sub-coding units A, B, C, D correspond to the decision-making result (ie, the following second Dividing the decision result) has a better effect, although further division decision for each sub-coding unit may result in better division decision results, but each division decision will consume time, which will increase the time. Consumption.
  • the four sub-coding units A, B, C, and D may not be further divided. Decision making, jump out of the coding process directly. In an actual application, it is determined whether the result of the partitioning decision corresponding to the four sub-coding units A, B, C, and D has a better effect, and generally determining whether the first dividing decision result meets the first preset skip condition. It should be noted that the “first” here is only a difference between the conditions preset in the embodiment and the other embodiments, and has no specific meaning.
  • determining whether the first partitioning decision result satisfies the first preset skip condition may be obtained by using information such as a rate distortion cost, a residual, a motion vector, and a current level of the target CU included in the first partitioning decision result.
  • information such as a rate distortion cost, a residual, a motion vector, and a current level of the target CU included in the first partitioning decision result.
  • One or more types of information are used to determine whether the first division decision result satisfies the first preset skip condition.
  • the first division decision result may be determined according to other information whether the first preset skip condition is met. This is not limited.
  • the rate-distortion penalty in the first partitioning decision result a for the sub-coding unit A is 1500
  • the rate-distortion penalty in the first partitioning decision result b for the sub-coding unit B is 2100
  • the rate-distortion cost in the first partitioning result c is 1600
  • the rate-distortion penalty in the first partitioning result d for the sub-coding unit D is 1800
  • the preset threshold is set to 8000
  • the rate-distortion cost can be calculated according to the above-mentioned determination rule.
  • the sum is 7000, which is less than the preset threshold of 8000. Then, it can be determined that the first division decision result satisfies the first preset skip condition.
  • the preset value is set to 2
  • the current level of the coding unit K is smaller than the preset value
  • the determination is performed, that is, after determining that the sum of the rate distortion costs in the first division decision result is less than or equal to the preset threshold, determining whether the current level of the target CU is greater than or equal to the preset The threshold, if yes, determines that the first preset skip condition is satisfied.
  • the sum of the rate distortion costs calculated according to the above determination rule is 7000, which is less than the preset threshold 8000, and then the current level of the coding unit K is determined to be 0, which is less than the preset value 2. Therefore, the first division decision is determined. The result does not satisfy the first preset skip condition.
  • first preset skip condition is only a specific form provided by the embodiment of the present application.
  • specific form of the first preset skip condition is not further limited.
  • the target split decision result of the target CU includes two aspects: in the first aspect, the target CU needs to be determined. It is divided into four sub-CUs; in the second aspect, the four sub-CUs obtained by dividing the target CU respectively correspond to the first partition decision result.
  • the execution of the above step S107 needs to be established based on the fact that the current level of the target coding unit is smaller than its prediction level.
  • the prediction level of the target coding unit is 3, the current level of the target coding unit is 2, and the preset value is 2; then, the current level of the target coding unit is equal to the preset value, and at this time, the four sub-units of the target coding unit
  • the coding unit has a level of 3, and further quadtree division can no longer be performed. In this case, no further division decision is made regardless of whether the second division decision result has a better effect.
  • the embodiment shown in FIG. 1 proposes a prediction level of the target CU, and judges the manner of performing the division decision by comparing the size relationship between the current level and the prediction level, and obtains the first division decision result in the first division.
  • the decision result satisfies the first preset skip condition
  • the target segmentation decision result of the target CU is directly determined, and the mode decision of the target CU is not required, the calculation amount is reduced, and the coding speed is further improved.
  • FIG. 4 is a schematic flowchart of a method for determining a coding unit division according to an embodiment of the present disclosure.
  • the method may further include:
  • S108 Perform mode decision on the target CU if the first partition decision result does not satisfy the first preset skip condition, and obtain a mode decision result for the target CU.
  • the sum of the rate-distortion costs in the first partitioning decision result of the four sub-CUs of the target CU may be greater than the preset threshold. Or the current level of the target CU is less than the preset value described above.
  • the content contained between adjacent coding units is similar, but for a video frame whose content changes are rather severe, there may be a large gap between the target coding unit and its adjacent coding unit, although the target coding unit
  • the adjacent coding units are referenced.
  • the unit divides the decision result according to the unit; therefore, in an implementation manner of the present application, if it is determined that the first partition decision result does not satisfy the first preset skip condition, the target CU may also perform mode decision and obtain The result of the mode decision for the target CU.
  • the rate decision cost is also included in the mode decision result obtained for the target coding unit.
  • S109 determining a target division decision result of the target CU is: an optimal division decision result in the second division decision result and the third division decision result; wherein the third division decision result includes a division result that does not divide the target CU, and the target CU The result of the model decision.
  • the determined target partitioning decision result also includes two aspects: in the first aspect, the determined target CU does not need to be divided into four sub-subjects. CU; the second aspect, the mode decision result of the target CU.
  • the second partition decision result corresponding to the target coding unit and the third partition decision result it is necessary to comprehensively consider the second partition decision result corresponding to the target coding unit and the third partition decision result, and specifically, compare the rate of the third partition decision result in the target coding unit obtained above.
  • the sum of the distortion cost and the rate-distortion cost in the first partitioning decision result of the four sub-coding units of the target coding unit, and the better division decision result between the two is used as the mode decision result of the target CU, wherein, in general, The smaller the rate distortion cost, the better the corresponding decision result.
  • the target segmentation decision result of the determining target CU is: a step of the second segmentation decision result and an optimal segmentation decision result (S109) of the third segmentation decision result, Can include:
  • determining a target division decision result of the target CU is a second division decision result
  • the target division decision result of the target CU is the third division decision result.
  • the rate-distortion cost in the second partitioning decision result is the sum of the rate-distortion costs in the respective first partitioning decision results of the four sub-coding units of the target coding unit.
  • the third division decision result k of the coding unit K is obtained through the above process, and four sub-coding units A, B, C, and D of the coding unit K are obtained.
  • the corresponding first division decision results are: first division decision result a, first division decision result b, first division decision result c, first division decision result d, and assumed rate distortion in the third division decision result
  • the cost is 6500, and the sum of the rate distortion costs in the first partition decision results a, b, c, d is 7000.
  • the result is better than the second division decision result, and therefore, the third division decision result is used as the target division decision result of the coding unit K.
  • FIG. 5 is a schematic flowchart of a third coding unit division decision method according to an embodiment of the present application.
  • the method may further include:
  • S110 Perform mode decision on the target CU when the current level of the target CU is not less than the prediction level, and obtain a mode decision result for the target CU;
  • the target coding unit can be any coding unit in the video frame
  • the current level of the target coding unit may be greater than Or equal to the level of the coding unit adjacent thereto, that is, the size of the target coding unit is smaller than the smallest of the adjacent coding units, because the levels between adjacent coding units have similarities, and at this time
  • the target coding unit is already smaller than its adjacent coding unit, and the mode decision directly on the target coding unit itself can actually obtain a better division decision result. Therefore, in an implementation manner of the present application, the target coding is performed. If the current level of the unit is not less than its prediction level, the mode decision is directly made to the target coding unit, and the mode decision result for the target coding unit is obtained.
  • the target coding unit is the coding unit A
  • the current level of the coding unit A is 1
  • the level of the left coding unit E of the coding unit A is 1
  • the level of the upper coding unit F is If it is 1, then the prediction level of coding unit A is 1, it can be seen that the current level of coding unit A is equal to its prediction level; since coding unit A has a strong reference relationship with its adjacent coding unit, when coding unit A If the current level has been greater than or equal to the level of its adjacent coding unit, that is, when the size of the coding unit A is already less than or equal to the coding unit adjacent thereto, it is actually predictable that the division decision result corresponding to the coding unit A is not divided. It has already had better results.
  • the coding unit A is directly subjected to mode decision, and a mode decision result for the coding unit A is obtained.
  • the foregoing step of performing mode decision on the target CU to obtain a mode decision result (S110) for the target CU may include:
  • the rate distortion cost for the target CU is calculated, and the mode decision result for the target CU is obtained.
  • step S106 the first partitioning decision result corresponding to the four sub-coding units of the target coding unit is determined, and here is the mode corresponding to the target coding unit. The decision result is judged.
  • determining whether the mode decision result of the target CU satisfies the second preset skip condition may be included in the information such as the rate distortion cost, the residual, the motion vector, and the current level of the target CU included in the mode decision result.
  • One or more types of information are used to determine whether the mode decision result satisfies the second preset skip condition.
  • it may be determined according to other information whether the mode decision result satisfies the second preset skip condition, and the application is not correct. This is limited.
  • the rate-distortion cost in the mode decision result of the target CU is less than or equal to a preset threshold, and if less than or equal to, the mode decision result of the target CU may be determined to satisfy the second preset skip condition;
  • first preset skip condition and “second preset skip condition” are not substantially different, only distinguishing two steps, actually setting the above two preset skips
  • the preset threshold and the preset value in the condition may be set to be the same or different, and the specific value of the setting is not explicitly defined in the present application. Since this step is the same as the above-mentioned step S106, it will not be described here. For the similarities, please refer to the corresponding introduction.
  • the third division decision is determined.
  • the coding unit A does not need to be divided, and the division decision of the four sub-coding units of the coding unit A does not need to be performed. Therefore, applying the embodiment of the present application can reduce the calculation amount of the division decision. , which in turn increases the encoding speed.
  • FIG. 6 is a schematic flowchart of a method for determining a coding unit division according to an embodiment of the present disclosure.
  • the method may further include:
  • the mode decision result of the target CU does not satisfy the second preset skip condition, it indicates that the third partition decision result does not have a better effect. In this case, it is often necessary to comprehensively consider the four sub-coding units of the target coding unit. Dividing the decision result; therefore, in an implementation manner of the present application, if the mode decision result of the determining target CU does not satisfy the second preset skip condition, the four sub-CUs of the target CU are separately determined. Obtain a first partition decision result corresponding to each sub-CU.
  • the four sub-CUs of the target CU are separately determined, and the first partitioning decision result corresponding to each sub-CU is obtained, and the four sub-CUs of the target CU are respectively determined as the target CU according to a preset rule. And returning to step S102.
  • the step of performing a partitioning decision on the four sub-CUs of the target CU, and obtaining the first partitioning decision result (S113) corresponding to each sub-CU may include:
  • the four sub-CUs of the target CU are respectively determined as the target CU, and the step of determining the current level of the target CU is returned.
  • the above-mentioned preset rule is actually the order of dividing decisions for four sub-coding units. Since the reference relationship between adjacent coding units is taken into account in the encoding process, the coding units need to be performed in a certain order. The decision is divided, and the specific decision can be made in the order of "Z" type. Therefore, when the division decision is made for the four sub-coding units of the target coding unit, it is necessary to sequentially determine the four sub-coding units as the target coding unit one by one, and return to the above-mentioned step S102.
  • S114 Determine a target division decision result of the target CU as: an optimal division decision result in the second division decision result and the third division decision result.
  • step S114 is exactly the same as the specific implementation manner of step S109 in the method embodiment shown in FIG. 4, so that the relevant content of step S109 in the method embodiment shown in FIG. 4 may be The description of the embodiments of the present invention is not described herein.
  • the coding unit K shown in FIG. 2 is used as the initial target coding unit in the embodiment of the present application, and the entire process of the foregoing division decision is exemplarily introduced.
  • the initial target coding unit is the coding unit K. It can be seen that the current level of the coding unit K is 0, because the level of the coding unit E on the left side of the coding unit K is 1 and the level of the upper coding unit F is 1, so the prediction level of the coding unit K is 1. By comparison, the current level of the coding unit K is smaller than the prediction level. Therefore, the four sub-coding units A, B, C, and D of the coding unit K need to be respectively divided, as shown in FIG. 3, because the coding unit A, B, C, and D are the four sub-encoding units of the coding unit K. Therefore, it can be known that the current levels of the coding units A, B, C, and D are all 1.
  • the coding unit A may be determined as the target coding unit at this time, and the current level of the coding unit A is known to be 1, and the coding unit E on the left side of the coding unit A is hierarchical.
  • the level of the coding unit F on the upper side is 1, and therefore, the prediction level of the coding unit A is 1, and it can be seen that the current level of the target coding unit (coding unit A) is equal to its prediction level, and therefore, the coding unit A is performed.
  • the mode decision is performed to calculate the rate distortion cost corresponding to the coding unit A, and the mode decision result is obtained.
  • the preset threshold corresponding to the first preset skip condition is hereinafter referred to as a first preset threshold
  • the preset threshold corresponding to the second preset skip condition is referred to as a second preset threshold. It can be seen that the rate-distortion penalty in the mode decision result of the coding unit A is smaller than the second preset threshold 1600, so it can be determined that the coding unit A does not need to be further divided into four sub-coding units.
  • the target division decision result corresponding to the coding unit A includes: a mode decision result of the coding unit A and a comprehensive result composed of the non-division coding unit A.
  • FIG. 7 is a schematic structural diagram of a division decision for the sub-coding unit B of FIG. 2.
  • the outer frame corresponding to the coding unit A is a solid line, indicating that the coding unit A has completed the division decision.
  • the order of the four sub coding units is determined as the target coding unit, and at this time, the coding unit B is determined to be the target coding unit, the current level of the coding unit B is 1, and the coding unit A on the left side of the coding unit B is 1
  • the level of the upper coding unit G is 2, and therefore, the prediction level of the coding unit B is 2, and it can be seen that the current level of the target coding unit (coding unit B) is smaller than its prediction level, so four sub-codings of the coding unit B are required.
  • the coding units B 1 , B 2 , B 3 , and B 4 respectively perform division decision. As shown in FIG. 7 , since the coding units B 1 , B 2 , B 3 , and B 4 are the four sub coding units of the coding unit B, therefore, The current levels of coding units B 1 , B 2 , B 3 , B 4 are both 2.
  • the coding unit may first determine a target coding unit B 1, B means known to encode the current level 1 is 2, A hierarchical coding units of the coding unit B 1 is left 1.
  • the level of the upper coding unit G is 2. Therefore, the prediction level of the coding unit B 1 is 2.
  • the current level of the target coding unit (coding unit B 1 ) is equal to its prediction level, and therefore, the coding unit B is 1 Perform mode decision, calculate the rate distortion cost corresponding to coding unit B 1 , and obtain the mode decision result. It is assumed that the rate distortion cost of the mode decision result obtained at this time is 400. It can be understood that different levels can set different second pre- The threshold value is set.
  • the second preset threshold value set at this time is 600. It can be seen that the rate distortion cost in the mode decision result of the coding unit B 1 is less than the preset threshold value, so it can be determined that the coding unit B 1 does not need to divide the four sub-codes. unit.
  • the coding unit B is divided corresponding to a decision result comprises: an encoding unit 1 B-mode decision results and does not divide the combined result of the coding unit B 1 thereof.
  • FIG. 8 is a schematic view of dividing 2 for making neutron coding unit B in FIG. 7, 8 can be seen in FIG. 1 corresponds to a coding unit B framed by solid lines, which indicates a coding unit B has been completed. 1 divided decision making. Then, according to the decided order as the four sub-coding units encoding the target unit, in which case the coding unit B is determined as a target coding unit 2, the encoding unit 2 for current level B 2, B 2 left coding unit of the coding unit.
  • the level is 2, the level of the upper coding unit H is 2, therefore, the prediction level of the coding unit B 2 is 2, it can be seen that the current level of the target coding unit (coding unit B 2 ) is equal to its prediction level, so The coding unit B 2 performs the mode decision and obtains the mode decision result. It is assumed that the rate distortion cost in the mode decision result obtained here is 900, and the second preset threshold value set at this time is 600, which can be seen in the decision result of the coding unit B 2 . The rate distortion cost is greater than the second preset threshold. Therefore, the four sub-coding units B 21 , B 22 , B 23 , and B 24 of the coding unit B 2 need to be respectively divided, as shown in FIG.
  • the coding unit B 21 , B 22 , B 23 , and B 24 are four sub-coding units of the coding unit B 2 , and therefore, the current levels of the coding units B 21 , B 22 , B 23 , and B 24 are all three.
  • the coding unit B 21 may be first determined to be the target coding unit, the current level of the known coding unit B 21 is 3, and the coding unit B 1 of the coding unit B 21 is used.
  • the level is 2, the level of the upper coding unit H is 2, therefore, the prediction level of the coding unit B 21 is 2, it can be seen that the current level of the target coding unit (coding unit B 21 ) is smaller than its prediction level, and therefore, the coding unit B 21 performs mode decision, calculates a rate distortion cost corresponding to the coding unit B 21 , and obtains a mode decision result. It is assumed that the rate distortion cost in the mode decision result obtained above is 200. It can be understood that the current level of the coding unit B 21 is the maximum value. 3. Therefore, it can be determined that the coding unit B 21 no longer divides the four sub coding units.
  • coding unit splitter 21 corresponding to the decision result B comprising: B-mode encoding unit 21 and the decision result does not divide the combined result of the coding unit B 21 thereof.
  • the coding unit B 22 in FIG. 8 is determined as the target coding unit, and the coding unit B 22 is known in the order of determining that the four sub coding units are the target coding units.
  • the current level is 3, the level of the left coding unit B 21 of the coding unit B 22 is 3, and the level of the upper coding unit H is 2, therefore, the prediction level of the coding unit B 22 is 3, visible, the target coding unit ( The current level of the coding unit B 22 ) is equal to its prediction level, therefore, the coding unit B 22 is subjected to mode decision, the rate distortion cost corresponding to the coding unit B 22 is calculated, and the mode decision result is obtained, assuming the mode decision result rate obtained here
  • the distortion cost is 200. It can be understood that the current level of the coding unit B 22 is the maximum value of 3. Therefore, it can be determined that the coding unit B 22 no longer divides the four sub coding units.
  • a decision result corresponding to the division coding unit B 22 comprises: a B-mode encoding unit 22 and the decision result does not divide the combined result of the coding unit B 22 thereof.
  • a decision result corresponding to the encoding unit B 23 comprises: a coding unit B 23 and a mode decision result does not divide the coding unit B 23 Suo combined result thereof;
  • decision result corresponding to the division coding unit B 24 comprises: a B-mode encoding unit 24 and the decision result does not divide the combined result of the coding unit B composed of 24.
  • the rate-distortion costs of the corresponding first partition decision results are 200, 200, 100, and 200, respectively.
  • the sum of the rate-distortion costs in a partitioning decision result is 700, which is smaller than the rate-distortion penalty 900 in the mode decision result of performing mode decision on the coding unit B 2 , so the determination of the partitioning decision result corresponding to the coding unit B 2 at this time includes: dividing coding unit B 2 into four sub-coding unit B 21, B 22, B 23 , B 24 of the division result, and the four sub-coding unit B 21, B 22, B 23 , B 24 respectively corresponding to mode decision results.
  • the encoding unit 3 at this time is B target encoding unit
  • B unit is known to encode current level is 3 2
  • the coding unit A on the left side of the coding unit B 3 has a level of 1
  • the upper coding unit B 1 has a level of 2
  • the prediction level of the coding unit B 3 is 2, visible
  • the target coding unit (coding unit B 3 The current level is equal to its prediction level.
  • the coding unit B 3 is subjected to mode decision, the rate distortion cost corresponding to the coding unit B 3 is calculated, and the mode decision result is obtained, assuming that the rate prediction cost in the mode decision result obtained at this time is 500.
  • the second preset threshold value set at this time is 600. It can be seen that the rate-distortion cost in the mode decision result of the coding unit B 3 is less than the preset threshold, so it can be determined that the coding unit B 3 does not need to further divide the four sub-coding units.
  • a decision result corresponding to the division coding unit 3 comprises B: B-mode encoding unit 3 and the decision result of dividing the combined result without coding unit B 3 thereof.
  • the coding unit B 4 can be made to make a mode decision, and the mode decision result is obtained. It is assumed that the rate prediction cost in the mode decision result obtained at this time is also 500, and the second preset threshold is 600, visible, the coding unit The rate-distortion penalty in the mode decision result of B 4 is smaller than the preset threshold, so it can be determined that the coding unit B 4 does not need to divide the four sub-coding units.
  • a decision result corresponding to the division B 4 encoding unit comprises: a coding unit B 4 of the mode decision result does not divide the combined result of the encoding unit 4 consisting of B.
  • the method includes: dividing the coding unit B into division results of B 1 , B 21 , B 22 , B 23 , B 24 , B 3 , B 4 , and coding units B 1 , B 21 , B 22 , B 23 , B 24 , The mode decision results corresponding to B 3 and B 4 respectively.
  • the coding unit C is the target coding unit at this time, and the current level of the known coding unit C is 1, coding.
  • the coding unit J on the left side of the cell C has a hierarchy of 1, and the upper coding unit A has a hierarchy of 1, and therefore, the prediction level of the coding unit C is 1, and it can be seen that the current level of the target coding unit (coding unit C) is equal to its prediction.
  • the coding unit C is subjected to mode decision, the rate distortion cost corresponding to the coding unit C is calculated, and the mode decision result is obtained, assuming that the rate prediction cost in the mode decision result obtained here is 1600, and the second preset set at this time is set.
  • the threshold is 1600. It can be seen that the rate-distortion penalty in the mode decision result of the coding unit C is equal to the second preset threshold, so it can be determined that the coding unit C does not need to divide the four sub-coding units.
  • the partitioning decision result corresponding to the coding unit C includes: the mode decision result of the coding unit C and the integrated result of the non-divided coding unit C.
  • the coding unit D is the target coding unit at this time, the current level of the known coding unit D is 1, and the coding unit C on the left side of the coding unit D The level is 1, and the level of the upper coding unit B 23 is 2. Therefore, the prediction level of the coding unit D is 2, and it can be seen that the current level of the target coding unit (coding unit D) is smaller than its prediction level, and therefore, the coding unit C is the four sub-coding units D 1, D 2, D 3 , D 4 are divided decision, FIG. 9, FIG. 9 is a schematic view for decision making is divided neutron coding unit D in FIG 7; D. 1 since a coding unit D 2 , D 3 , and D 4 are the four sub-encoding units of the coding unit D. Therefore, the current levels of the coding units D 1 , D 2 , D 3 , and D 4 are both 2.
  • the process obtains the rate-distortion cost in the mode decision result of the four sub-coding units D 1 , D 2 , D 3 , D 4 of the coding unit D: 500, 600, 300 , 400 , respectively, and the above results are all less than or equal to the second preset.
  • the threshold is 600, so it can be determined that the coding units D 1 , D 2 , D 3 , D 4 do not need to be further divided into four sub-coding units.
  • the target division decision result corresponding to the coding unit D includes: dividing the coding unit D into division results of D 1 , D 2 , D 3 , and D 4 , and coding units D 1 , D 2 , D 3 , and D 4 respectively Corresponding mode decision results.
  • the corresponding rate distortion costs in the partition decision results of the four sub-coding units A, B, C, and D of the initial target coding unit K are: 1500, 400+(200+200+100+200)+500+ 500, 1600, 500+600+300+400, ie, 1500, 2100, 1600, 1800 respectively.
  • the first preset threshold of the above setting is 6500
  • the sum of the rate-distortion costs in the first partitioning decision result of the four sub-coding units A, B, C, and D of the target coding unit K obtained above is 7000, which is not satisfied.
  • the coding unit K should also be subjected to mode decision. It is assumed that the rate-distortion cost of the mode decision result obtained by performing the mode decision on the coding unit K is 8000. Then, by comparison, the target coding unit can be known.
  • FIG. 10 is a schematic structural diagram of the division decision result obtained by performing the division decision on the coding unit K in FIG. 2.
  • the target division decision result corresponding to the coding unit K includes: finally dividing the coding unit K into A, B 1 , B 21 , B 22 , B 23 , B 24 , B 3 , B 4 , C, D 1 , D 2 ,
  • the division result of D 3 and D 4 , and the coding units A, B 1 , B 21 , B 22 , B 23 , B 24 , B 3 , B 4 , C, D 1 , D 2 , D 3 , D 4 respectively correspond The result of the model decision.
  • the prediction level of the target CU is obtained by determining the current level of the target CU and according to a preset hierarchical prediction rule; and determining the size of the current level and the prediction level to determine the division decision. In this way, the result of the division decision is obtained. At the same time, it is determined in advance whether the current target coding unit ends the division decision by the preset jump-out condition, and the division decision result of the target coding unit is obtained, the calculation amount is reduced, and the coding speed is improved.
  • the embodiment of the present application provides a first coding unit division decision device.
  • the foregoing apparatus includes:
  • a first obtaining module 201 configured to obtain a target coding unit CU
  • a first determining module 202 configured to determine a current level of the target CU
  • a second obtaining module 203 configured to obtain a prediction level of the target CU according to a preset hierarchical prediction rule
  • the first determining module 204 is configured to determine whether a current level of the target CU is smaller than a prediction level thereof;
  • the first decision module 205 is configured to perform a partitioning decision on each of the four sub-CUs of the target CU, and obtain a first partitioning decision result of each sub-CU, in a case where the first judging module 204 determines that the result is YES;
  • the second determining module 206 is configured to determine whether the first partitioning decision result satisfies the first preset skip condition.
  • the second determining module 207 is configured to determine, in a case that the second determining module 206 determines that the result is YES, the target dividing decision result of the target CU is a second dividing decision result, where the second dividing decision result includes dividing the target CU into four The division result of the sub-CUs, and the first division decision result corresponding to the four sub-CUs of the target CU respectively.
  • the foregoing second obtaining module 203 may be specifically configured to:
  • the level of the left CU is determined as the prediction level of the target CU;
  • the level of the upper CU is determined as the prediction level of the target CU;
  • the largest of the hierarchy of the left CU and the upper CU is determined as the prediction level of the target CU;
  • the level of the reference CU is determined as the prediction level of the target CU, where the reference CU is: the CU with the same location as the target CU in the previous frame of the video frame where the target CU is located. ;
  • the embodiment shown in FIG. 11 proposes a prediction level of the target CU, and judges the manner of performing the division decision by comparing the size relationship between the current level and the prediction level, and obtains the first division decision result, and the first division decision result satisfies the first
  • a preset skip condition is used, the target segmentation decision result of the target coding unit is directly determined, and no need to perform mode decision on the target coding unit, which reduces the amount of calculation, thereby improving the coding speed.
  • the embodiment of the present application provides a second coding unit division decision device.
  • the device may further include:
  • a second decision module 208 configured to perform a mode decision on the target CU in the case that the second determination module 206 determines that the result is negative, to obtain a second decision result for the target CU;
  • the third determining module 209 is configured to determine that the target partitioning decision result of the target CU is: an optimal partitioning decision result in the second partitioning decision result and the third partitioning decision result; wherein the third partitioning decision result includes not dividing the target CU Divide the results and the results of the model decisions of the target CU.
  • the foregoing third determining module may be specifically configured to:
  • determining a target division decision result of the target CU is a second division decision result
  • the target division decision result of the target CU is the third division decision result.
  • the embodiment of the present application provides a third coding unit division decision device.
  • the device may further include:
  • the third decision module 210 is configured to perform a mode decision on the target CU in the case that the first determination module 204 determines that the result is negative, and obtain a second decision result for the target CU;
  • the foregoing third decision module 210 may be specifically configured to:
  • the rate distortion cost for the target CU is calculated, and the mode decision result for the target CU is obtained.
  • the third determining module 211 is configured to determine whether the mode decision result of the target CU meets the second preset skip condition
  • the fourth determining module 212 is configured to: when the third determining module 211 determines that the result is yes, determine that the target partitioning decision result of the target CU is a third partitioning decision result; wherein the third partitioning decision result includes not dividing the target CU Divide the results and the results of the model decisions of the target CU.
  • the calculation amount of the division decision can be reduced, thereby improving the coding speed.
  • the embodiment of the present application provides a fourth coding unit division decision device.
  • the device may further include:
  • the fourth decision module 213 is configured to perform a split mode decision on each of the four sub-CUs of the target CU, and obtain a first partition decision result corresponding to each sub-CU.
  • the fourth decision module 213 may be specifically configured to:
  • the first determining module 202 is triggered.
  • the fifth determining module 214 is configured to determine a target partitioning decision result of the target CU as: a second partitioning decision result and an optimal partitioning decision result in the third partitioning decision result.
  • the foregoing fifth determining module 214 may be specifically configured to:
  • determining a target division decision result of the target CU is a second division decision result
  • the target division decision result of the target CU is the third division decision result.
  • the embodiment of the present application further provides an encoder that not only has the same function as the existing encoder, but also applies the coding unit division decision device shown in any of the foregoing FIG. 11-14.
  • the encoder provided by the embodiment of the present application can achieve the same effect as the device embodiment shown in FIG. 11-14. Therefore, the specific content of the encoder is not elaborated in the embodiment of the present application, and the similarities are Please refer to the corresponding content above.
  • the prediction level of the target CU is proposed, and the manner of performing the division decision is judged by comparing the size relationship between the current level and the prediction level, and the first division decision result is obtained, and the first division decision result satisfies the first
  • a preset skip condition is used, the target division decision result of the target CU is directly determined, and no decision is made on the target CU, which reduces the amount of calculation, thereby improving the coding speed.
  • the embodiment of the present application further provides an encoder, as shown in FIG. 6, including a processor 301 and a memory 302, where
  • a memory 302 for storing a computer program
  • the processor 301 is configured to perform the following steps when executing the program stored on the memory 302:
  • the four sub-CUs of the target CU are respectively divided and determined, and the first partitioning decision result of each sub-CU is obtained;
  • determining a target partitioning decision result of the target CU is a second partitioning decision result, where the second partitioning decision result includes dividing the target CU into four sub-CU partitioning results, and the first sub-division corresponding to the four sub-CUs of the target CU Decision result.
  • the above encoder may be provided with a communication interface that enables communication between it and other devices.
  • the above-mentioned processor 301, communication interface, and memory 302 complete communication with each other through a communication bus.
  • the communication bus mentioned herein may be a Peripheral Component Interconnect (PCI) bus or an extended industry standard structure ( Extended Industry Standard Architecture, EISA) bus, etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the communication bus can be divided into an address bus, a data bus, a control bus, and the like.
  • the memory 302 may include a random access memory (RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
  • NVM non-volatile memory
  • the memory may also be at least one storage device located away from the aforementioned processor.
  • the processor 301 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc., or may be a digital signal processing (DSP), dedicated.
  • CPU central processing unit
  • NP network processor
  • DSP digital signal processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the prediction level of the target CU is proposed, and the manner of performing the division decision is judged by comparing the size relationship between the current level and the prediction level, and the first division decision result is obtained, in the first division.
  • the decision result satisfies the first preset skip condition
  • the target segmentation decision result of the target CU is directly determined, and the mode decision of the target CU is not required, the calculation amount is reduced, and the coding speed is further improved.
  • Yet another embodiment of the present application also provides a computer readable storage medium having stored therein instructions that, when executed on a computer, cause the computer to perform the encoding of any of the above embodiments Unit division decision method.
  • the prediction level of the target CU is proposed, and the manner of performing the division decision is judged by comparing the size relationship between the current level and the prediction level, and the first division decision result is obtained, in the first division.
  • the decision result satisfies the first preset skip condition
  • the target segmentation decision result of the target CU is directly determined, and the mode decision of the target CU is not required, the calculation amount is reduced, and the coding speed is further improved.
  • Yet another embodiment of the present application also provides a computer program product comprising instructions that, when executed on a computer, cause the computer to perform the method steps described in any of the above described coding unit partitioning decision methods.
  • the prediction level of the target CU is proposed, and the manner of performing the division decision is judged by comparing the size relationship between the current level and the prediction level, and the first division decision result is obtained, in the first division.
  • the decision result satisfies the first preset skip condition
  • the target segmentation decision result of the target CU is directly determined, and the mode decision of the target CU is not required, the calculation amount is reduced, and the coding speed is further improved.
  • Yet another embodiment of the present application also provides a computer program that, when run on a computer, causes the computer to perform the method steps described in any of the above described coding unit partitioning decision methods.
  • the prediction level of the target CU is proposed, and the manner of performing the division decision is judged by comparing the size relationship between the current level and the prediction level, and the first division decision result is obtained, in the first division.
  • the decision result satisfies the first preset skip condition
  • the target segmentation decision result of the target CU is directly determined, and the mode decision of the target CU is not required, the calculation amount is reduced, and the coding speed is further improved.
  • the various embodiments in the present specification are described in a related manner, and the same or similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments.
  • the embodiments of the apparatus, the encoder, the computer readable storage medium, the computer program product including the instructions, and the computer program are relatively simple in description since they are substantially similar to the method embodiment, and the method is described in the relevant manner. Part of the description of the example can be.

Abstract

本申请实施例公开了一种编码单元划分决策方法、装置、编码器及计算机可读存储介质,该方法包括:通过确定目标CU的当前层级,并且按照预设的层级预测规则,获得目标CU的预测层级;再判断当前层级是否小于预测层级;若是,对目标CU的四个子CU分别进行划分决策,得到第一划分决策结果;在第一划分决策结果满足第一预设跳过条件时,确定目标CU的划分决策结果为:由划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果所组成的综合结果。本方案在上述第一决策结果满足第一预设跳过条件时,确定获得目标CU的划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。

Description

一种编码单元划分决策方法、装置、编码器及存储介质 技术领域
本申请涉及视频编解码技术领域,特别涉及一种编码单元划分决策方法、装置、编码器及存储介质。
背景技术
编码单元(Coding Unit,简称CU),是H.265(高效视频编码,High Efficiency Video Coding,亦称HEVC)编码的基本单元,具有四叉树结构,CU是正方形的,大小可以为64×64、32×32、16×16和8×8。通常情况下,认为大小为64×64的CU层级为0、大小为32×32的CU层级为1、大小为16×16的CU层级为2和大小为8×8的CU层级为3。为了提高编码性能,按照四叉树的递归结构可以将层级小于3的CU划分为四个等同的子CU。
CU的划分决策是指对CU进行四叉树划分的决策,CU的模式决策则是指针对该CU的Skip(一种帧间预测模式)、Merge(运动合并模式)、帧间以及帧内等模式的决策,目前,对于CU的划分决策,采用的是自顶向下(Top-Down)的方式遍历所有的CU层级;也就是先从层级较小的CU开始进行模式决策,逐层递归所有层级的CU,最后根据所有的模式决策结果,得到划分决策结果。例如,对层级为2的CU进行划分决策,先计算当前CU的率失真代价,然后分别计算当前CU的四个子CU(层级为3)的率失真代价,最后根据计算的当前CU的率失真代价与其四个子CU的率失真代价得到当前CU的划分决策结果。
由于采用自顶向下的方式需要严格的按照层级的大小来逐层的进行模式决策,具体的,先决策层级较小的CU,再决策当前CU的四个子CU,按照这样的规则遍历所有的CU层级,对每一CU层级都要进行模式决策,因此,编码的计算量较大,进而造成编码速度低下。
发明内容
本申请实施例的目的在于提供一种编码单元划分决策方法、装置、编码器及存储介质,以提高编码速度。
为达到上述目的,第一方面,本申请实施例提供了一种编码单元划分决 策方法,该方法包括:
获得目标编码单元CU;
确定目标CU的当前层级;
按照预设的层级预测规则,获得目标CU的预测层级;
判断上述当前层级是否小于上述预测层级;
如果小于,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
判断第一划分决策结果是否满足第一预设跳过条件;
如果满足,确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
可选的,在第一划分决策结果不满足第一预设跳过条件的情况下,上述方法还包括:
对目标CU进行模式决策,得到针对目标CU的模式决策结果;
确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
可选的,上述确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果,包括:
判断第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
如果小于或等于,确定目标CU的目标划分决策结果为第二划分决策结果;
否则,确定目标CU的目标划分决策结果为第三划分决策结果。
可选的,在上述当前层级不小于上述预测层级的情况下,上述方法还包 括:
对目标CU进行模式决策,得到针对目标CU的模式决策结果;
判断目标CU的模式决策结果是否满足第二预设跳过条件;
如果满足,确定目标CU的目标划分决策结果为第三划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
可选的,上述对目标CU进行模式决策,得到针对目标CU的模式决策结果,包括:
计算针对目标CU的率失真代价,得到针对目标CU的模式决策结果。
可选的,在目标CU的模式决策结果不满足第二预设跳过条件的情况下,上述方法还包括:
对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果;
确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果。
可选的,上述对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果,包括:
按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并返回上述确定目标CU的当前层级的步骤。
可选的,上述按照预设的层级预测规则,获得目标CU的预测层级,包括:
判断目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
若左侧CU的层级已知且上侧CU的层级未知,将左侧CU的层级确定为目标CU的预测层级;
若上侧CU的层级已知且左侧CU的层级未知,将上侧CU的层级确定为目标CU的预测层级;
若左侧CU的层级和上侧CU的层级均已知,将左侧CU的层级和上侧CU的层级中的最大者确定为目标CU的预测层级;
若左侧CU层级和上侧CU层级均未知,将参考CU的层级确定为目标CU的预测层级,其中,参考CU为:目标CU所在视频帧的前一帧中与目标CU位置相同的CU;
否则,确定目标CU的预测层级为0。
第二方面,本申请实施例提供了一种编码单元划分决策装置,该装置包括:
第一获得模块,用于获得目标编码单元CU;
第一确定模块,用于确定目标CU的当前层级;
第二获得模块,用于按照预设的层级预测规则,获得目标CU的预测层级;
第一判断模块,用于判断上述当前层级是否小于上述预测层级;
第一决策模块,用于在第一判断模块判定结果为是的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
第二判断模块,用于判断第一划分决策结果是否满足第一预设跳过条件;
第二确定模块,用于在第二判断模块判定结果为是的情况下,确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
可选的,上述装置还包括:
第二决策模块,用于在第二判断模块判定结果为否的情况下,对目标CU进行模式决策,得到针对目标CU的第二决策结果;
第三确定模块,用于确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
可选的,上述第三确定模块,具体用于:
判断第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
如果小于或等于,确定目标CU的目标划分决策结果为第二划分决策结果;
否则,确定目标CU的目标划分决策结果为第三划分决策结果。
可选的,上述装置还包括:
第三决策模块,用于在第一判断模块判定结果为否的情况下,对目标CU进行模式决策,得到针对目标CU的模式决策结果;
第三判断模块,用于判断目标CU的模式决策结果是否满足第二预设跳过条件;
第四确定模块,用于在第三判断模块判定结果为是的情况下,确定目标CU的目标划分决策结果为第三划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
可选的,上述第三决策模块,具体用于:
在第一判断模块判定结果为否的情况下,计算针对目标CU的率失真代价,得到针对目标CU的模式决策结果。
可选的,上述装置还包括:
第四决策模块,用于在第三判断模块判定结果为否的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果;
第五确定模块,用于确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果。
可选的,上述第四决策模块,具体用于:
在第三判断模块判定结果为否的情况下,按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并触发第一确定模块。
可选的,上述第二获得模块,具体用于:
判断目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
若左侧CU的层级已知且上侧CU的层级未知,将左侧CU的层级确定为目标CU的预测层级;
若上侧CU的层级已知且左侧CU的层级未知,将上侧CU的层级确定为目标CU的预测层级;
若左侧CU的层级和上侧CU的层级均已知,将左侧CU的层级和上侧CU的层级中的最大者确定为目标CU的预测层级;
若左侧CU层级和上侧CU层级均未知,将参考CU的层级确定为目标CU的预测层级,其中,参考CU为:目标CU所在视频帧的前一帧中与目标CU位置相同的CU;
否则,确定目标CU的预测层级为0。
为达到上述目的,第三方面,本申请实施例还提供了一种编码器,该编码器为应用上述任意一种编码单元划分决策装置的编码器。
为达到上述目的,第四方面,本申请实施例还提供了一种编码器,包括处理器和存储器,其中;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一编码单元划分决策方法所述的方法步骤。
为达到上述目的,第五方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述任一编码单元划分决策方法所述的方法步骤。
为达到上述目的,第六方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一编码单元划分决策方法所述的方法步骤。
为达到上述目的,第七方面,本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一编码单元划分决策方法所 述的方法步骤。
由上可见,在本申请实施例所提供的方案中,通过确定目标CU的当前层级,并且按照预设的层级预测规则,获得目标CU的预测层级;再判断当前层级是否小于预测层级;若是,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;在第一划分决策结果满足第一预设跳过条件时确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
本申请实施例提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
附图说明
为了更清楚地说明本申请实施例和相关技术的技术方案,下面对实施例和相关技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种编码单元划分决策方法的流程示意图;
图2为本申请实施例提供的一种具体的编码单元K的结构示意图;
图3为针对图2中编码单元K的四个子编码单元A、B、C、D的结构示意图;
图4为本申请实施例提供的第二种编码单元划分决策方法的流程示意图;
图5为本申请实施例提供的第三种编码单元划分决策方法的流程示意图;
图6为本申请实施例提供的第四种编码单元划分决策方法的流程示意图;
图7为针对图2中子编码单元B进行划分决策的结构示意图;
图8为针对图7中子编码单元B2进行划分决策的结构示意图;
图9为针对图7中子编码单元D进行划分决策的结构示意图;
图10为针对图2中编码单元K进行划分决策得到的划分决策结果的结构示意图;
图11为本申请实施例提供的第一种编码单元划分决策装置的结构示意图;
图12为本申请实施例提供的第二种编码单元划分决策装置的结构示意图;
图13为本申请实施例提供的第三种编码单元划分决策装置的结构示意图;
图14为本申请实施例提供的第四种编码单元划分决策装置的结构示意图;
图15为本申请实施例提供的一种编码器的结构示意图。
具体实施方式
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面通过具体实施例,对本申请进行详细的说明。
图1为本申请实施例提供的一种编码单元划分决策方法的流程示意图,上述方法包括:
S101:获得目标编码单元CU。
本领域技术人员可以理解的是,编码单元(Coding Unit,简称CU)是编码的基本单元,例如,在H.265编码标准中,编码单元具有四叉树结构,CU是正方形的,大小可以为64×64、32×32、16×16和8×8。对于任意的视频帧来说,其均由大量的编码单元构成,如图2所示,视频帧包含有多个编码单元,如图2所示的视频帧包含编码单元E、F、G、H、J和K。
在本申请实施例中,目标编码单元为当前正在进行划分决策的编码单元,如图2所示,假设编码单元K为当前正在进行划分决策的编码单元,则该编码单元即为本申请实施例中的目标编码单元。
在此需要说明的是,本领域技术人员公知的是,对于编码单元的划分决策可以是:对于编码单元的划分方式的选择,以及在划分编码单元的情况下,划分得到的每一个子编码单元的模式选择,或者在不划分编码单元的情况下,该编码单元的模式选择。其中,编码单元的模式决策可以是对该编码单元的Skip(跳过),Merge(合并),帧间,帧内等模式的选择。
所以,编码单元的划分决策结果可以包括两种:第一种是该编码单元的一种划分方式下,划分该编码单元得到的所有子编码单元的模式决策结果的综合结果;第二种是不划分该编码单元的情况下,该编码单元的模式决策结果。
S102:确定目标CU的当前层级。
在本申请实施例中,当前层级是指当前正在进行划分决策的编码单元的层级,即目标编码单元的层级。由于编码单元具有四叉树结构,为了体现编码单元划分前后的大小,通常用层级的概念来表示,具体的,以H.265为例,最大的CU为64x64,可以定义大小为64×64的CU层级为0、大小为32×32的CU层级为1、大小为16×16的CU层级为2和大小为8×8的CU层级为3。定义CU的层级后,可以直接根据CU的层级确定CU的大小,CU的层级越小,该CU的大小越大。
为了保证本申请文件能够清晰简洁和统一,以下均以图2所示的编码单元K为例来对本申请文件所提供的编码单元划分决策方法进行说明。
参见图2,假设目标编码单元为64×64的编码单元K,编码单元K相邻的编码单元均已经完成划分决策。需要介绍的是,在H.265编码标准中,通常称大小为64×64的编码单元为编码树(Coding Tree Unit,简称CTU),CTU也是最大的编码单元,因此,在编码过程中通常会选取CTU作为初始的目标编码单元,例如图2中所示的编码单元K实际上就是一个CTU,因此,可以确定编码单元K的当前层级为0,通过比较编码单元K与其相邻的编码单元之间的大 小关系,可以确定图2中所示的编码单元E的层级为1、编码单元F的层级为1、编码单元G的层级为2、编码单元H的层级为2、编码单元J的层级为1。
S103:按照预设的层级预测规则,获得目标CU的预测层级。
通常情况下,在同一个视频帧中,相邻编码单元之间所包含的内容相似,即使存在变化,一般变化很小,因而相邻编码单元之间的划分决策结果具有相似性,也就是相邻编码单元之间的层级具有相似性。基于上述情况,在本申请的一种实现方式中,可以参考与目标编码单元相邻的编码单元的层级,得到目标编码单元的预测层级。
具体的,按照预设的层级预测规则,获得目标CU的预测层级时,可以判断目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
若左侧CU的层级已知且上侧CU的层级未知,将左侧CU的层级确定为目标CU的预测层级;
若上侧CU的层级已知且左侧CU的层级未知,将上侧CU的层级确定为目标CU的预测层级;
若左侧CU的层级和上侧CU的层级均已知,将左侧CU的层级和上侧CU的层级中的最大者确定为目标CU的预测层级;
若左侧CU层级和上侧CU层级均未知,将参考CU的层级确定为目标CU的预测层级,其中,该参考CU为:目标CU所在视频帧的前一帧中与目标CU位置相同的CU;
否则,确定目标CU的预测层级为0。
需要说明的是,上述目标CU的左侧CU、上侧CU是指以目标编码单元的左上角顶点为基准,在其左侧的CU和在其上侧的CU。参见图2,以目标编码单元为编码单元K为例,编码单元K的左侧CU为编码单元E,上侧CU为编码单元F,由上述可知,编码单元E的层级为1,编码单元F的层级为1,按照上述规则中的“若左侧CU的层级和上侧CU的层级均已知,将左侧CU的层级和上侧CU的层级中的最大者确定为目标CU的预测层级”,可以确定编码单元K的预测层级为1。
S104:判断目标CU的当前层级是否小于其预测层级。
S105:在判断目标CU的当前层级小于其预测层级的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果。
由上可以确定编码单元K对应的当前层级为0、预测层级为1,比较可知编码单元K的当前层级是小于预测层级的。由上述可知的是,编码单元的层级越小,该编码单元越大;这也就是说,编码单元K的大小比相邻编码单元中最大的还要大,编码单元K的相邻编码单元被划分为相对小的编码单元,这说明编码单元K所在区域的内容比较复杂,考虑到相邻编码单元之间的相似性,将编码单元K划分更小编码单元可能会得到较佳的编码效果,因此,编码单元K需要划分为四个子编码单元的概率比较高。
所以,当判断编码单元K的当前层级小于其预测层级时,直接对目标编码单元的四个子编码单元进行划分决策,参见图3,为针对图2中编码单元K的四个子编码单元A、B、C、D的结构示意图;分别对编码单元K的四个子编码单元A、B、C、D进行划分决策,得到每一个子CU的第一划分决策结果。
实际应用中,对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果,可以是按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并返回执行步骤S102。
即本申请实施例中,此处所述对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果(S105)的步骤,可以包括:
按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并返回上述确定目标CU的当前层级的步骤。
上述所说的按照预设的规则事实上就是对四个子编码单元进行划分决策的顺序,由于在编码过程中,考虑到相邻编码单元之间的参考关系,需要按照一定的顺序对编码单元进行划分决策,具体的可以按照“Z”型的顺序进行划分决策,其中,该“Z”型的顺序亦可称为Zig-Zag顺序。因此当对目标编码单元的四个子编码单元进行划分决策时,需要有序的将四个子编码单元逐个确定为目标编码单元,返回执行上述的步骤S102。
例如,在对编码单元K的四个子编码单元A、B、C、D进行划分决策时, 可以按照“Z”型的顺序进行划分决策,则上述对编码单元K的四个子编码单元A、B、C、D进行划分决策的顺序为:子编码单元A→子编码单元B→子编码单元C→子编码单元D。
S106:判断第一划分决策结果是否满足第一预设跳过条件。
在对上述编码单元K的四个子编码单元A、B、C、D分别进行划分决策之后,分别获得每一子编码单元的划分决策结果a、b、c、d,划分决策结果a、b、c、d中均包括率失真代价。一般情况下,考虑到编码器的实时性的要求以及硬件性能等因素,对于编码单元K来说,如果其四个子编码单元A、B、C、D对应的划分决策结果(即下述第二划分决策结果)已经具有较佳的效果,虽然再对每一个子编码单元进一步的划分决策可能会得到更好的划分决策结果,但是每进行一次划分决策都将消耗时间,这将会增大时间消耗。
为了节省编码时间,当上述四个子编码单元A、B、C、D对应的划分决策结果已经具有较佳的效果时,可以不再对四个子编码单元A、B、C、D进行进一步的划分决策,直接跳出编码过程。实际应用中,判断上述四个子编码单元A、B、C、D对应的划分决策结果是否已经具有较佳的效果,通常是判断上述的第一划分决策结果是否满足第一预设跳过条件,需要说明的是,这里的“第一”仅为区别该实施例中预设的条件与其他的实施例中的不同,并无特定的含义。
实际应用中,判断第一划分决策结果是否满足第一预设跳过条件,可以通过第一划分决策结果中所包含的率失真代价、残差、运动矢量、目标CU的当前层级等信息中的一种或两种以上的信息来判断第一划分决策结果是否满足第一预设跳过条件,当然,还可以根据其他信息判断第一划分决策结果是否满足第一预设跳过条件,本申请并不对此进行限定。
示例性的,可以通过判断各个第一划分决策结果中率失真代价的总和是否小于或等于预设阈值,若小于或等于,则可以判定上述的第一划分决策结果满足第一预设跳过条件;
和/或,判断目标CU的当前层级是否大于或等于预设值,如果是,则可以判定上述的第一划分决策结果满足第一预设跳过条件。
举例而言,假设得到针对子编码单元A的第一划分决策结果a中率失真代价为1500、针对子编码单元B的第一划分决策结果b中率失真代价为2100、针对子编码单元C的第一划分结果c中率失真代价为1600、针对子编码单元D的第一划分结果d中率失真代价为1800,设置的预设阈值为8000,可以按照上述的判定规则计算出率失真代价的总和为7000,小于设置的预设阈值8000。那么可以判定第一划分决策结果满足第一预设跳过条件。
或者,假设上述中的编码单元K的当前层级为0,设置预设值为2,编码单元K的当前层级小于预设值,那么可以判定第一划分决策结果不满足第一预设跳过条件。
还或者,结合上述两个判断规定规则综合进行判定,即在判断该第一划分决策结果中率失真代价的总和小于或等于预设阈值之后,再判断目标CU的当前层级是否大于或等于预设阈值,如果是,则判定满足第一预设跳过条件。例如,在按照上述判定规则计算出率失真代价的总和为7000,小于设置的预设阈值8000,之后再判断编码单元K的当前层级为0,小于预设值2,因此,判定第一划分决策结果不满足第一预设跳过条件。
需要说明的是,上述的第一预设跳过条件仅为本申请实施例提供的一种具体的形式而已,在本申请实施例中,并不对第一预设跳过条件的具体形式做进一步限定。
S107:在该第一划分决策结果满足第一预设跳过条件的情况下,确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
可以理解,在本申请实施例中,在该第一划分决策结果满足第一预设跳过条件的情况下,目标CU的目标划分决策结果包含有两方面:第一方面,决策出目标CU需要被划分为四个子CU;第二方面,划分目标CU得到的四个子CU分别对应的第一划分决策结果。
由上可知,一方面,当上述中目标编码单元的四个子编码单元的第一划分决策结果中的率失真代价的总和小于或等于预设阈值时,可以判定该第二 划分决策结果已经具有较佳的效果,为了节省编码时间,不再需要进行进一步的划分决策。
另一方面,当目标编码单元的大小已经足够小,也就是目标编码单元的当前层级比较大,需要说明的是,上述步骤S107的执行需要建立在目标编码单元的当前层级小于其预测层级的基础上,例如,目标编码单元的预测层级为3,目标编码单元的当前层级为2,预设值为2;那么,目标编码单元的当前层级等于预设值,此时,目标编码单元的四个子编码单元的层级为3,已经无法再进行进一步的四叉树划分了,这种情况下,无论第二划分决策结果是否已经具有较佳的效果,均不再进行进一步的划分决策。
由上可见,图1所示的实施例,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
在图1所示的实施例的基础上,如图4所示,图4为本申请实施例提供的第二种编码单元划分决策方法的流程示意图,上述方法还可以包括:
S108:在第一划分决策结果不满足第一预设跳过条件的情况下,对目标CU进行模式决策,得到针对目标CU的模式决策结果。
在第一划分决策结果不满足第一预设跳过条件的情况下,可以是上述所说的目标CU的四个子CU的第一划分决策结果中的率失真代价之和大于上述的预设阈值,或者目标CU的当前层级小于上述的预设值。
由上可知,相邻编码单元之间所包含的内容相似,但对于内容变化比较剧烈的视频帧来说,可能目标编码单元与其相邻的编码单元之间存在较大的差距,尽管目标编码单元在进行划分决策时是参考相邻的编码单元的,但是,仅对目标编码单元的四个子编码单元进行划分决策还不能够获得较佳的划分决策结果,往往还需要综合考虑一下不划分目标编码单元时对应的划分决策结果;因此,在本申请的一种实现方式中,在判定第一划分决策结果不满足 第一预设跳过条件的情况下,还可以对目标CU进行模式决策,获得针对目标CU的模式决策结果。
与对上述目标编码单元的四个子编码单元的第一划分决策结果类似的,获得针对目标编码单元的模式决策结果中也包括率失真代价。
S109:确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
可以理解,在第一划分决策结果不满足第一预设跳过条件的情况下,所确定的目标划分决策结果同样包含有两方面:第一方面,决策出目标CU不需要被划分为四个子CU;第二方面,目标CU的模式决策结果。
在获得目标编码单元自身的模式决策结果之后,需要综合考虑目标编码单元对应的第二划分决策结果和第三划分决策结果,具体的,比较上述获得的目标编码单元的第三划分决策结果中率失真代价与目标编码单元的四个子编码单元的第一划分决策结果中率失真代价的总和,再将二者之间更优的划分决策结果作为上述目标CU的模式决策结果,其中,一般而言,率失真代价越小,对应的决策结果也就越优。
所以,作为本申请实施例的一种可选实现方式,上述确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果(S109)的步骤,可以包括:
判断第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
如果小于或等于,确定目标CU的目标划分决策结果为第二划分决策结果;
否则,确定目标CU的目标划分决策结果为第三划分决策结果。
可以理解,第二划分决策结果中的率失真代价即为目标编码单元的四个子编码单元的各个第一划分决策结果中率失真代价的总和。
举例而言,假设目标编码单元为图2所示的编码单元K,经过上述的过 程获得编码单元K的第三划分决策结果k,获得编码单元K的四个子编码单元A、B、C、D分别对应的第一划分决策结果分别为:第一划分决策结果a、第一划分决策结果b、第一划分决策结果c、第一划分决策结果d,假设上述的第三划分决策结果中率失真代价为6500,第一划分决策结果a、b、c、d中率失真代价的总和为7000。
可知的是,率失真代价越小,对应的划分决策结果越优,比较上述的第一划分决策结果中率失真代价的总和与第三划分决策结果中的率失真代价,可以判定第三划分决策结果优于第二划分决策结果,因此,将第三划分决策结果作为编码单元K的目标划分决策结果。
应用图4所示的实施例,在第一划分决策结果不满足第一预设跳过条件的情况下,对目标编码单元进行模式决策,获得模式决策结果,进而得到第三划分决策结果;然后在上述第二划分决策结果和第三划分决策结果中选择最优者,获得目标编码单元的目标划分决策结果,提高了划分决策的准确度。
在图4所示的实施例的基础上,如图5所示,图5为本申请实施例提供的第三种编码单元划分决策方法的流程示意图,上述方法还可以包括:
S110:在目标CU的当前层级不小于其预测层级的情况下,对目标CU进行模式决策,得到针对目标CU的模式决策结果;
不难理解的是,由于目标编码单元可以是视频帧中任意一个编码单元,当目标编码单元的大小比较小,即目标编码单元的当前层级较大,那么目标编码单元的当前层级可能就会大于或等于与其相邻的编码单元的层级,也就是说目标编码单元的大小比与其相邻的编码单元中最小的还要小,由于相邻的编码单元之间的层级具有相似性,而这时目标编码单元已经小于其相邻的编码单元了,直接对目标编码单元自身进行模式决策实际上就已经能够获得较佳的划分决策结果,因此,在本申请的一种实现方式中,在目标编码单元的当前层级不小于其预测层级的情况下,直接对目标编码单元进行模式决策,得到针对目标编码单元的模式决策结果。
示例性的,如图3所示,假设目标编码单元为编码单元A,编码单元A 的当前层级为1,编码单元A的左侧编码单元E的层级为1、上侧的编码单元F的层级也为1,则编码单元A的预测层级为1,可见,编码单元A的当前层级等于其预测层级;由于编码单元A与其相邻的编码单元之间具有较强的参考关系,当编码单元A的当前层级已经大于或等于其相邻的编码单元的层级,也就是编码单元A的大小已经小于或等于与其相邻的编码单元时,事实上可以预测不划分编码单元A对应的划分决策结果就已经具有较佳的效果。
因此,在判定编码单元A的当前层级大于或等于其对应的预测层级的情况下,直接对编码单元A进行模式决策,得到针对编码单元A的模式决策结果。
具体的,上述对目标CU进行模式决策,得到针对目标CU的模式决策结果(S110)的步骤,可以包括:
计算针对目标CU的率失真代价,得到针对目标CU的模式决策结果。
当然,针对目标CU的率失真代价的技术属于现有技术,本申请实施例在此不做详细介绍。
S111:判断目标CU的模式决策结果是否满足第二预设跳过条件;
该步骤与上述的步骤S106相类似,区别之处仅在于,步骤S106中是对目标编码单元的四个子编码单元对应的第一划分决策结果进行判断,而此处为对目标编码单元对应的模式决策结果进行判断。
示例性的,判断目标CU的模式决策结果是否满足第二预设跳过条件,可以通过该模式决策结果中所包含的率失真代价、残差、运动矢量、目标CU的当前层级等信息中的一种或两种以上的信息来判断该模式决策结果是否满足第二预设跳过条件,当然,还可以根据其他信息判断该模式决策结果是否满足第二预设跳过条件,本申请并不对此进行限定。
示例性的,可以判断目标CU的模式决策结果中率失真代价是否小于或等于预设阈值,若小于或等于,则可以判定目标CU的模式决策结果满足第二预设跳过条件;
和/或,判断目标CU的当前层级是否大于或等于预设值,如果是,则可以判定上述的目标CU的模式决策结果满足第二预设跳过条件。
可以理解,上述所说的“第一预设跳过条件”以及“第二预设跳过条件”并没有实质上的区别,仅为区分两个步骤,实际在设置上述两个预设跳过条件中的预设阈值和预设值时,可以设置为相同也可以设置为不同,本申请并不对设置的具体数值做明确限定。由于该步骤与上述的步骤S106原理相同,因此,这里也不再赘述,相同之处请参见对应处的介绍。
S112:在目标CU的模式决策结果满足第二预设跳过条件的情况下,确定目标CU的目标划分决策结果为第三划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
由上述可知,当上述编码单元A对应的模式决策结果中率失真代价小于上述设置的预设阈值时,或者是编码单元A的层级已经大于或等于其预测层级时,将判定上述第三划分决策结果已经具有较佳的效果,此时,编码单元A将不需要划分,不需要再对编码单元A的四个子编码单元进行划分决策,因此,应用本申请实施例,能够减少划分决策的计算量,进而提高了编码速度。
在图5所示的实施例的基础上,如图6所示,图6为本申请实施例提供的第四种编码单元划分决策方法的流程示意图,上述方法还可以包括:
S113:在目标CU的模式决策结果不满足第二预设跳过条件的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果。
当目标CU的模式决策结果不满足第二预设跳过条件时,说明上述第三划分决策结果还不具有较佳的效果,这时,往往还需要综合考虑一下目标编码单元的四个子编码单元的划分决策结果;因此,在本申请的一种实现方式中,在上述判断目标CU的模式决策结果不满足第二预设跳过条件的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果。
实际应用中,对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果,可以是按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并返回执行步骤S102。
即本申请实施例中,此处所述对目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果(S113)的步骤,可以包括:
按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并返回上述确定目标CU的当前层级的步骤。
上述所说的按照预设的规则事实上就是对四个子编码单元进行划分决策的顺序,由于在编码过程中,考虑到相邻编码单元之间的参考关系,需要按照一定的顺序对编码单元进行划分决策,具体的可以按照“Z”型的顺序进行划分决策。因此当对目标编码单元的四个子编码单元进行划分决策时,需要有序的将四个子编码单元逐个确定为目标编码单元,返回至上述的步骤S102。
S114:确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果。
应该说明的是,步骤S114的具体实现方式与图4所示方法实施例中的步骤S109的具体实现方式完全相同,所以步骤S114的可以按照图4所示方法实施例中步骤S109的相关内容和解释说明,本发明实施例在此不做赘述。
下面以图2所示的编码单元K作为本申请实施例中初始的目标编码单元,对上述划分决策的整个过程进行示例性介绍。
参见图2,初始的目标编码单元为编码单元K,可知的是,编码单元K对应的当前层级为0,由于编码单元K左侧编码单元E的层级为1、上侧编码单元F的层级为1,因此编码单元K的预测层级为1。通过比较可知,编码单元K的当前层级小于其预测层级,因此,需要对编码单元K的四个子编码单元A、B、C、D分别进行划分决策,如图3所示,由于编码单元A、B、C、D为编码单元K的四个子编码单元,因此,可以知道编码单元A、B、C、D的当前层级均为1。
按照上述确定四个子编码单元为目标编码单元的顺序,可以先确定编码单元A为此时的目标编码单元,已知编码单元A的当前层级为1,编码单元A左侧的编码单元E的层级为1、上侧的编码单元F的层级为1,因此,编码单元A的预测层级为1,可见,目标编码单元(编码单元A)的当前层级等于其预测层级,因此,对编码单元A进行模式决策,计算编码单元A对应的率失真代价, 获得模式决策结果,假设上述获得的模式决策结果中率失真代价为1500,此时设置的预设阈值为1600,为了使下面的描述清楚明确,以下称第一预设跳过条件对应的预设阈值为第一预设阈值,称第二预设跳过条件对应的预设阈值为第二预设阈值。可见,编码单元A的模式决策结果中率失真代价小于第二预设阈值1600,所以可以确定编码单元A不需要再划分为四个子编码单元。
此时,最终确定编码单元A对应的目标划分决策结果包括:编码单元A的模式决策结果与不划分编码单元A所组成的综合结果。
参见图7,图7为针对图2中子编码单元B进行划分决策的结构示意图,图7中可以看出编码单元A对应的外框为实线,表示编码单元A已经完成划分决策。那么,按照上述确定四个子编码单元为目标编码单元的顺序,此时将确定编码单元B为目标编码单元,编码单元B的当前层级为1,编码单元B左侧的编码单元A的层级为1、上侧编码单元G的层级为2,因此,编码单元B的预测层级为2,可见,目标编码单元(编码单元B)的当前层级小于其预测层级,所以,需要对编码单元B的四个子编码单元B 1、B 2、B 3、B 4分别进行划分决策,如图7所示,由于编码单元B 1、B 2、B 3、B 4为编码单元B的四个子编码单元,因此,编码单元B 1、B 2、B 3、B 4的当前层级均为2。
按照上述确定四个子编码单元为目标编码单元的顺序,可以先确定编码单元B 1为目标编码单元,已知编码单元B 1的当前层级为2,编码单元B 1左侧的编码单元A的层级为1、上侧编码单元G的层级为2,因此,编码单元B 1的预测层级为2,可见,目标编码单元(编码单元B 1)的当前层级等于其预测层级,因此,对编码单元B 1进行模式决策,计算编码单元B 1对应的率失真代价,获得模式决策结果,假设此时获得的模式决策结果中率失真代价为400,可以理解的,不同的层级可以设置不同的第二预设阈值,例如,此时设置的第二预设阈值为600,可见,编码单元B 1的模式决策结果中率失真代价小于预设阈值,所以可以确定编码单元B 1不需要再划分四个子编码单元。
此时,编码单元B 1对应的划分决策结果包括:编码单元B 1的模式决策结果与不划分编码单元B 1所组成的综合结果。
参见图8,图8为针对图7中子编码单元B 2进行划分决策的结构示意图,图8中可以看出编码单元B 1对应的外框为实线,这表示编码单元B 1已经完成划分 决策。那么,按照上述确定四个子编码单元为目标编码单元的顺序,此时将确定编码单元B 2为目标编码单元,编码单元B 2的当前层级为2,编码单元B 2左侧的编码单元B 1的层级为2、上侧编码单元H的层级为2,因此,编码单元B 2的预测层级为2,可见,目标编码单元(编码单元B 2)的当前层级等于其预测层级,所以,需要对编码单元B 2进行模式决策,获得模式决策结果,假设此处获得的模式决策结果中率失真代价为900,此时设置的第二预设阈值为600,可见,编码单元B 2的决策结果中率失真代价大于第二预设阈值,所以需要对编码单元B 2的四个子编码单元B 21、B 22、B 23、B 24分别进行划分决策,如图8所示,由于编码单元B 21、B 22、B 23、B 24为编码单元B 2的四个子编码单元,因此,编码单元B 21、B 22、B 23、B 24的当前层级均为3。
按照上述确定四个子编码单元为目标编码单元的顺序,可以先确定编码单元B 21为目标编码单元,已知编码单元B 21的当前层级为3,编码单元B 21的左侧编码单元B 1的层级为2、上侧编码单元H的层级为2,因此,编码单元B 21的预测层级为2,可见,目标编码单元(编码单元B 21)的当前层级小于其预测层级,因此,对编码单元B 21进行模式决策,计算编码单元B 21对应的率失真代价,获得模式决策结果,假设上述获得的模式决策结果中率失真代价为200,可以理解的,编码单元B 21的当前层级为最大值3,因此,可以确定编码单元B 21不再划分四个子编码单元。
此时,编码单元B 21对应的划分决策结果包括:编码单元B 21的模式决策结果与不划分编码单元B 21所组成的综合结果。
当确定编码单元B 21不再划分四个子编码单元之后,按照上述确定四个子编码单元为目标编码单元的顺序,将图8中的编码单元B 22确定为目标编码单元,已知编码单元B 22的当前层级为3,编码单元B 22的左侧编码单元B 21的层级为3、上侧编码单元H的层级为2,因此,编码单元B 22的预测层级为3,可见,目标编码单元(编码单元B 22)的当前层级等于其预测层级,因此,对编码单元B 22进行模式决策,计算编码单元B 22对应的率失真代价,获得模式决策结果,假设此处获得的模式决策结果中率失真代价为200,可以理解的,编码单元B 22的当前层级为最大值3,因此,可以确定编码单元B 22不再划分四个子编码单元。
此时,编码单元B 22对应的划分决策结果包括:编码单元B 22的模式决策结 果与不划分编码单元B 22所组成的综合结果。
同理,在依次将编码单元B 23、B 24作为目标编码单元进行划分决策后,假设编码单元B 23对应的划分决策结果包括:编码单元B 23的模式决策结果与不划分编码单元B 23所组成的综合结果;编码单元B 24对应的划分决策结果包括:编码单元B 24的模式决策结果与不划分编码单元B 24所组成的综合结果。
假设对编码单元B 2的四个子编码单元B 21、B 22、B 23、B 24进行划分决策后,分别对应的第一划分决策结果中率失真代价为200、200、100、200,可见第一划分决策结果中率失真代价的总和为700,小于对编码单元B 2进行模式决策的模式决策结果中的率失真代价900,所以此时确定编码单元B 2对应的划分决策结果包括:划分编码单元B 2为四个子编码单元B 21、B 22、B 23、B 24的划分结果,以及的四个子编码单元B 21、B 22、B 23、B 24分别对应的模式决策结果。
当确定编码单元B 2的划分决策结果之后,按照上述确定四个子编码单元为目标编码单元的顺序,可以确定编码单元B 3为此时的目标编码单元,已知编码单元B 3的当前层级为2,编码单元B 3左侧的编码单元A的层级为1、上侧编码单元B 1的层级为2,因此,编码单元B 3的预测层级为2,可见,目标编码单元(编码单元B 3)的当前层级等于其预测层级,因此,对编码单元B 3进行模式决策,计算编码单元B 3对应的率失真代价,获得模式决策结果,假设此时获得的模式决策结果中率失真代价为500,此时设置的第二预设阈值为600,可见,编码单元B 3的模式决策结果中率失真代价小于预设阈值,所以可以确定编码单元B 3不需要再划分四个子编码单元。
此时,编码单元B 3对应的划分决策结果包括:编码单元B 3的模式决策结果与不划分编码单元B 3所组成的综合结果。
与上述过程相同的,可以对编码单元B 4进行模式决策,获得模式决策结果,假设此时获得的模式决策结果中率失真代价也为500,而第二预设阈值为600,可见,编码单元B 4的模式决策结果中率失真代价小于预设阈值,所以可以确定编码单元B 4不需要再划分四个子编码单元。
此时,编码单元B 4对应的划分决策结果包括:编码单元B 4的模式决策结果与不划分编码单元B 4所组成的综合结果。
综上可得,编码单元B对应的第二划分决策结果中率失真代价为:400+(200+200+100+200)+500+500=2100。假设相应的第一预设阈值为2500,由于2100小于2500,所以可以直接确定编码单元B对应的目标划分决策结果为其自身对应的第二划分决策结果,即编码单元B对应的目标划分决策结果包括:将编码单元B划分为B 1、B 21、B 22、B 23、B 24、B 3、B 4的划分结果,以及编码单元B 1、B 21、B 22、B 23、B 24、B 3、B 4分别对应的模式决策结果。
当确定编码单元B的划分决策结果之后,按照上述确定四个子编码单元为目标编码单元的顺序,可以确定编码单元C为此时的目标编码单元,已知编码单元C的当前层级为1,编码单元C左侧的编码单元J的层级为1、上侧编码单元A的层级为1,因此,编码单元C的预测层级为1,可见,目标编码单元(编码单元C)的当前层级等于其预测层级,因此,对编码单元C进行模式决策,计算编码单元C对应的率失真代价,获得模式决策结果,假设此处获得的模式决策结果中率失真代价为1600,此时设置的第二预设阈值为1600,可见,编码单元C的模式决策结果中率失真代价等于第二预设阈值,所以可以确定编码单元C不需要再划分四个子编码单元。
此时,编码单元C对应的划分决策结果包括:编码单元C的模式决策结果与不划分编码单元C所组成的综合结果。
最后,按照上述确定四个子编码单元为目标编码单元的顺序,可以确定编码单元D为此时的目标编码单元,已知编码单元D的当前层级为1,编码单元D左侧的编码单元C的层级为1、上侧编码单元B 23的层级为2,因此,编码单元D的预测层级为2,可见,目标编码单元(编码单元D)的当前层级小于其预测层级,因此,对编码单元C的四个子编码单元D 1、D 2、D 3、D 4分别进行划分决策,如图9所示,图9为针对图7中子编码单元D进行划分决策的结构示意图;由于编码单元D 1、D 2、D 3、D 4为编码单元D的四个子编码单元,因此,编码单元D 1、D 2、D 3、D 4的当前层级均为2。
与上述对编码单元B的四个子编码单元相同的步骤,不难得到编码单元D的四个子编码单元D 1、D 2、D 3、D 4分别对应的划分决策结果,假设按照上述的划分决策过程得到编码单元D的四个子编码单元D 1、D 2、D 3、D 4的模式决策结果中率失真代价分别为:500、600、300、400,上述结果均小于或等 于第二预设阈值600,所以可以确定编码单元D 1、D 2、D 3、D 4均不需要再划分四个子编码单元。
此时,编码单元D对应的目标划分决策结果包括:将编码单元D划分为D 1、D 2、D 3、D 4的划分结果,以及编码单元D 1、D 2、D 3、D 4分别对应的模式决策结果。
综上可以获得初始目标编码单元K的四个子编码单元A、B、C、D的划分决策结果中对应的率失真代价分别为:1500、400+(200+200+100+200)+500+500、1600、500+600+300+400,即,分别为:1500、2100、1600、1800。
假设上述设置的第一预设阈值为6500,那么上述获得的目标编码单元K的四个子编码单元A、B、C、D的第一划分决策结果中率失真代价的总和为7000,不满足第一预设跳过条件,此时,还应对编码单元K进行模式决策,假设对编码单元K进行模式决策获得的模式决策结果中率失真代价为8000,那么,通过比较可以得知,目标编码单元K的四个子编码单元A、B、C、D的第一划分决策结果中率失真代价的总和小于编码单元K的模式决策结果中率失真代价,因此可以最终确定初始目标编码单元(编码单元K)的划分决策结果如图10所示,图10为针对图2中编码单元K进行划分决策得到的划分决策结果的结构示意图。
即编码单元K对应的目标划分决策结果包括:将编码单元K最终划分为A、B 1、B 21、B 22、B 23、B 24、B 3、B 4、C、D 1、D 2、D 3、D 4的划分结果,以及编码单元A、B 1、B 21、B 22、B 23、B 24、B 3、B 4、C、D 1、D 2、D 3、D 4分别对应的模式决策结果。
值得说明的是,由于上述步骤中有相似部分的介绍相对比较少,相同之处请参见对应描述。当然,上述的过程为本申请实施例提供的一个较为具体的划分决策过程,该过程仅为一个示例,并不对本申请中划分决策的具体过程构成限定。
应用图6所示的实施例,通过确定目标CU的当前层级,并且按照预设的层级预测规则,获得目标CU的预测层级;并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得划分决策结果,同时,通过预设 跳出条件提前判断当前目标编码单元是否提前结束划分决策,获得目标编码单元的划分决策结果,减小了计算量,进而提高了编码速度。
相应于图1所示的方法实施例,本申请实施例提供了第一种编码单元划分决策装置,如图11所示,上述装置包括:
第一获得模块201,用于获得目标编码单元CU;
第一确定模块202,用于确定目标CU的当前层级;
第二获得模块203,用于按照预设的层级预测规则,获得目标CU的预测层级;
第一判断模块204,用于判断目标CU的当前层级是否小于其预测层级;
第一决策模块205,用于在第一判断模块204判定结果为是的情况下,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
第二判断模块206,用于判断第一划分决策结果是否满足第一预设跳过条件。
第二确定模块207,用于在第二判断模块206判定结果为是的情况下,确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
可选的,实际应用中,上述第二获得模块203,可以具体用于:
判断目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
若左侧CU的层级已知且上侧CU的层级未知,将左侧CU的层级确定为目标CU的预测层级;
若上侧CU的层级已知且左侧CU的层级未知,将上侧CU的层级确定为目标CU的预测层级;
若左侧CU的层级和上侧CU的层级均已知,将左侧CU的层级和上侧CU的 层级中的最大者确定为目标CU的预测层级;
若左侧CU层级和上侧CU层级均未知,将参考CU的层级确定为目标CU的预测层级,其中,该参考CU为:目标CU所在视频帧的前一帧中与目标CU位置相同的CU;
否则,确定目标CU的预测层级为0。
图11所示的实施例,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标编码单元的目标划分决策结果,不需要再对目标编码单元进行模式决策,减小了计算量,进而提高了编码速度。
相应于图4所示的方法实施例,在图11所示实施例的基础上,本申请实施例提供了第二种编码单元划分决策装置,如图12所示,上述装置还可以包括:
第二决策模块208,用于在第二判断模块206判定结果为否的情况下,对目标CU进行模式决策,得到针对目标CU的第二决策结果;
第三确定模块209,用于确定目标CU的目标划分决策结果为:第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
作为本发明实施例的一种可选实现方式,上述第三确定模块,可以具体用于:
判断第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
如果小于或等于,确定目标CU的目标划分决策结果为第二划分决策结果;
否则,确定目标CU的目标划分决策结果为第三划分决策结果。
应用图12所示的实施例,在第一划分决策结果不满足第一预设跳过条件 的情况下,对目标编码单元进行模式决策,获得目标编码单元的模式决策结果,然后在上述第二决策结果和第三决策结果中选择最优者作为目标编码单元的目标划分决策结果,提高了划分决策的准确度。
相应于图5所示的方法实施例,在图12所示实施例的基础上,本申请实施例提供了第三种编码单元划分决策装置,如图13所示,上述装置还可以包括:
第三决策模块210,用于在第一判断模块204判定结果为否的情况下,对目标CU进行模式决策,得到针对目标CU的第二决策结果;
实际应用中,上述第三决策模块210,可以具体用于:
计算针对目标CU的率失真代价,得到针对目标CU的模式决策结果。
第三判断模块211,用于判断该目标CU的模式决策结果是否满足第二预设跳过条件;
第四确定模块212,用于在第三判断模块211判定结果为是的情况下,确定目标CU的目标划分决策结果为第三划分决策结果;其中,第三划分决策结果包括不划分目标CU的划分结果,以及目标CU的模式决策结果。
应用本申请实施例,能够减少划分决策的计算量,进而提高了编码速度。
相应于图6所示的方法实施例,在图13所示实施例的基础上,本申请实施例提供了第四种编码单元划分决策装置,如图14所示,上述装置还可以包括:
第四决策模块213,用于在第三判断模块211判定结果为否的情况下,对目标CU的四个子CU分别进行划分模式决策,得到每一个子CU对应的第一划分决策结果;
实际应用中,上述第四决策模块213,可以具体用于:
按照预设的规则,分别将目标CU的四个子CU确定为目标CU,并触发上述第一确定模块202。
第五确定模块214,用于确定目标CU的目标划分决策结果为:第二划分决 策结果和第三划分决策结果中最优的划分决策结果。
作为本发明实施例的一种可选实现方式,上述第五确定模块214,可以具体用于:
判断第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
如果小于或等于,确定目标CU的目标划分决策结果为第二划分决策结果;
否则,确定目标CU的目标划分决策结果为第三划分决策结果。
应用图14所示的实施例,通过确定目标CU的当前层级,并且按照预设的层级预测规则,获得目标CU的预测层级;并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得对应的划分决策结果,同时,通过预设跳出条件提前判断当前目标编码单元是否提前结束划分决策,获得目标编码单元的目标决策结果,减小了计算量,进而提高了编码速度。
本申请实施例还提供了一种编码器,该编码器除了与现有编码器具有相同的功能外,该编码器还应用上述图11-14所示的任一种编码单元划分决策装置,因此,本申请实施例提供的编码器,能够达到与上述图11-14所示装置实施例同样的效果,因此,本申请实施例就不再对该编码器的具体内容做详细阐述,相同之处请参见上述对应内容。
本实施例提供的方案中,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
本申请实施例还提供了一种编码器,如图6所示,包括处理器301和存储器302,其中,
存储器302,用于存放计算机程序;
处理器301,用于执行存储器302上所存放的程序时,实现如下步骤:
获得目标编码单元CU;
确定目标CU的当前层级;
按照预设的层级预测规则,获得目标CU的预测层级;
判断上述当前层级是否小于上述预测层级;
如果小于,对目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
判断第一划分决策结果是否满足第一预设跳过条件;
如果满足,确定目标CU的目标划分决策结果为第二划分决策结果,其中,第二划分决策结果包括划分目标CU为四个子CU的划分结果,以及目标CU的四个子CU分别对应的第一划分决策结果。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图1、4、5和6所示的方法实施例,在此不做赘述。
上述编码器可以具备有实现其与其他设备之间通信的通信接口。
上述的处理器301,通信接口,存储器302通过通信总线完成相互间的通信,此处所提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器302可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器301可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号 处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可知,本实施例提供的方案中,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
本申请的又一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的编码单元划分决策方法。
由以上可知,本实施例提供的方案中,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
本申请的再一实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一编码单元划分决策方法所述的方法步骤。
由以上可知,本实施例提供的方案中,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
本申请的再一实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一编码单元划分决策方法所述的方法步骤。
由以上可知,本实施例提供的方案中,提出了目标CU的预测层级,并通过比较当前层级与预测层级的大小关系来判断进行划分决策的方式,获得第一划分决策结果,在第一划分决策结果满足第一预设跳过条件时,直接确定目标CU的目标划分决策结果,不需要再对目标CU进行模式决策,减小了计算量,进而提高了编码速度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、编码器、计算机可读存储介质、包含指令的计算机程序产品以及计算机程序的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (19)

  1. 一种编码单元划分决策方法,其特征在于,所述方法包括:
    获得目标编码单元CU;
    确定所述目标CU的当前层级;
    按照预设的层级预测规则,获得所述目标CU的预测层级;
    判断所述当前层级是否小于所述预测层级;
    如果小于,对所述目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
    判断所述第一划分决策结果是否满足第一预设跳过条件;
    如果满足,确定所述目标CU的目标划分决策结果为第二划分决策结果,其中,所述第二划分决策结果包括划分所述目标CU为四个子CU的划分结果,以及所述目标CU的四个子CU分别对应的第一划分决策结果。
  2. 根据权利要求1所述的方法,其特征在于,在所述第一划分决策结果不满足所述第一预设跳过条件的情况下,所述方法还包括:
    对所述目标CU进行模式决策,得到针对所述目标CU的模式决策结果;
    确定所述目标CU的目标划分决策结果为:所述第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,所述第三划分决策结果包括不划分所述目标CU的划分结果,以及所述目标CU的模式决策结果。
  3. 根据权利要求2所述的方法,其特征在于,所述确定所述目标CU的目标划分决策结果为:所述第二划分决策结果和第三划分决策结果中最优的划分决策结果,包括:
    判断所述第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
    如果小于或等于,确定所述目标CU的目标划分决策结果为所述第二划分决策结果;
    否则,确定所述目标CU的目标划分决策结果为所述第三划分决策结果。
  4. 根据权利要求1所述的方法,其特征在于,在所述当前层级不小于所述预测层级的情况下,所述方法还包括:
    对所述目标CU进行模式决策,得到针对所述目标CU的模式决策结果;
    判断所述目标CU的模式决策结果是否满足第二预设跳过条件;
    如果满足,确定所述目标CU的目标划分决策结果为第三划分决策结果;其中,所述第三划分决策结果包括不划分所述目标CU的划分结果,以及所述目标CU的模式决策结果。
  5. 根据权利要求2或4所述的方法,其特征在于,所述对所述目标CU进行模式决策,得到针对所述目标CU的模式决策结果,包括:
    计算针对所述目标CU的率失真代价,得到针对所述目标CU的模式决策结果。
  6. 根据权利要求4所述的方法,其特征在于,在所述目标CU的模式决策结果不满足所述第二预设跳过条件的情况下,所述方法还包括:
    对所述目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果;
    确定所述目标CU的目标划分决策结果为:所述第二划分决策结果和所述第三划分决策结果中最优的划分决策结果。
  7. 根据权利要求1或6所述的方法,其特征在于,所述对所述目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果,包括:
    按照预设的规则,分别将所述目标CU的四个子CU确定为目标CU,并返回所述确定所述目标CU的当前层级的步骤。
  8. 根据权利要求1所述的方法,其特征在于,所述按照预设的层级预测规则,获得所述目标CU的预测层级,包括:
    判断所述目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
    若所述左侧CU的层级已知且所述上侧CU的层级未知,将所述左侧CU 的层级确定为所述目标CU的预测层级;
    若所述上侧CU的层级已知且所述左侧CU的层级未知,将所述上侧CU的层级确定为所述目标CU的预测层级;
    若所述左侧CU的层级和所述上侧CU的层级均已知,将所述左侧CU的层级和所述上侧CU的层级中的最大者确定为所述目标CU的预测层级;
    若所述左侧CU层级和所述上侧CU层级均未知,将参考CU的层级确定为所述目标CU的预测层级,其中,所述参考CU为:所述目标CU所在视频帧的前一帧中与所述目标CU位置相同的CU;
    否则,确定所述目标CU的预测层级为0。
  9. 一种编码单元划分决策装置,其特征在于,所述装置包括:
    第一获得模块,用于获得目标编码单元CU;
    第一确定模块,用于确定所述目标CU的当前层级;
    第二获得模块,用于按照预设的层级预测规则,获得所述目标CU的预测层级;
    第一判断模块,用于判断所述当前层级是否小于所述预测层级;
    第一决策模块,用于在所述第一判断模块判定结果为是的情况下,对所述目标CU的四个子CU分别进行划分决策,得到每一个子CU的第一划分决策结果;
    第二判断模块,用于判断所述第一划分决策结果是否满足第一预设跳过条件;
    第二确定模块,用于在所述第二判断模块判定结果为是的情况下,确定所述目标CU的目标划分决策结果为第二划分决策结果,其中,所述第二划分决策结果包括划分所述目标CU为四个子CU的划分结果,以及所述目标CU的四个子CU分别对应的第一划分决策结果。
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    第二决策模块,用于在所述第二判断模块判定结果为否的情况下,对所 述目标CU进行模式决策,得到针对所述目标CU的第二决策结果;
    第三确定模块,用于确定所述目标CU的目标划分决策结果为:所述第二划分决策结果和第三划分决策结果中最优的划分决策结果;其中,所述第三划分决策结果包括不划分所述目标CU的划分结果,以及所述目标CU的模式决策结果。
  11. 根据权利要求10所述的装置,其特征在于,所述第三确定模块,具体用于:
    判断所述第二划分决策结果中的率失真代价是否小于或等于第三划分决策结果中的率失真代价;
    如果小于或等于,确定所述目标CU的目标划分决策结果为所述第二划分决策结果;
    否则,确定所述目标CU的目标划分决策结果为所述第三划分决策结果。
  12. 根据权利要求10所述的装置,其特征在于,所述装置还包括:
    第三决策模块,用于在所述第一判断模块判定结果为否的情况下,对所述目标CU进行模式决策,得到针对所述目标CU的模式决策结果;
    第三判断模块,用于判断所述目标CU的模式决策结果是否满足第二预设跳过条件;
    第四确定模块,用于在所述第三判断模块判定结果为是的情况下,确定所述目标CU的目标划分决策结果为第三划分决策结果;其中,所述第三划分决策结果包括不划分所述目标CU的划分结果,以及所述目标CU的模式决策结果。
  13. 根据权利要求12所述的装置,其特征在于,所述第三决策模块,具体用于:
    在所述第一判断模块判定结果为否的情况下,计算针对所述目标CU的率失真代价,得到针对所述目标CU的模式决策结果。
  14. 根据权利要求12所述的装置,其特征在于,所述装置还包括:
    第四决策模块,用于在所述第三判断模块判定结果为否的情况下,对所述目标CU的四个子CU分别进行划分决策,得到每一个子CU对应的第一划分决策结果;
    第五确定模块,用于确定所述目标CU的目标划分决策结果为:所述第二划分决策结果和所述第三划分决策结果中最优的划分决策结果。
  15. 根据权利要求14所述的装置,其特征在于,所述第四决策模块,具体用于:
    在所述第三判断模块判定结果为否的情况下,按照预设的规则,分别将所述目标CU的四个子CU确定为目标CU,并触发所述第一确定模块。
  16. 根据权利要求9-15中任一项所述的装置,其特征在于,所述第二获得模块,具体用于:
    判断所述目标CU的左侧CU的层级和/或上侧CU的层级是否已知,
    若所述左侧CU的层级已知且所述上侧CU的层级未知,将所述左侧CU的层级确定为所述目标CU的预测层级;
    若所述上侧CU的层级已知且所述左侧CU的层级未知,将所述上侧CU的层级确定为所述目标CU的预测层级;
    若所述左侧CU的层级和所述上侧CU的层级均已知,将所述左侧CU的层级和所述上侧CU的层级中的最大者确定为所述目标CU的预测层级;
    若所述左侧CU层级和所述上侧CU层级均未知,将参考CU的层级确定为所述目标CU的预测层级,其中,所述参考CU为:所述目标CU所在视频帧的前一帧中与所述目标CU位置相同的CU;
    否则,确定所述目标CU的预测层级为0。
  17. 一种编码器,其特征在于,所述编码器为应用权利要求9-16中任一项所述编码单元划分决策装置的编码器。
  18. 一种编码器,其特征在于,包括处理器和存储器,其中;
    存储器,用于存放计算机程序;
    处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
  19. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
PCT/CN2017/116257 2017-12-14 2017-12-14 一种编码单元划分决策方法、装置、编码器及存储介质 WO2019113903A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/954,047 US11375192B2 (en) 2017-12-14 2017-12-14 Coding unit division decision method and device, encoder, and storage medium
PCT/CN2017/116257 WO2019113903A1 (zh) 2017-12-14 2017-12-14 一种编码单元划分决策方法、装置、编码器及存储介质
CN201780006045.1A CN108702505B (zh) 2017-12-14 2017-12-14 一种编码单元划分决策方法、装置、编码器及存储介质
SG11202005658VA SG11202005658VA (en) 2017-12-14 2017-12-14 Coding unit division decision method and device, encoder, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/116257 WO2019113903A1 (zh) 2017-12-14 2017-12-14 一种编码单元划分决策方法、装置、编码器及存储介质

Publications (1)

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

Family

ID=63844071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/116257 WO2019113903A1 (zh) 2017-12-14 2017-12-14 一种编码单元划分决策方法、装置、编码器及存储介质

Country Status (4)

Country Link
US (1) US11375192B2 (zh)
CN (1) CN108702505B (zh)
SG (1) SG11202005658VA (zh)
WO (1) WO2019113903A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901602B (zh) * 2020-08-07 2022-09-30 北京奇艺世纪科技有限公司 视频数据编码方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140043015A (ko) * 2012-09-28 2014-04-08 연세대학교 산학협력단 영상 부호화 방법 및 장치
CN107071416A (zh) * 2017-01-06 2017-08-18 华南理工大学 一种hevc帧内预测模式快速选择方法
CN107071418A (zh) * 2017-05-05 2017-08-18 上海应用技术大学 一种基于决策树的hevc帧内编码单元快速划分方法
CN107396121A (zh) * 2017-08-22 2017-11-24 中南大学 一种基于分层b帧结构的编码单元深度预测方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495724B1 (ko) * 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US9210442B2 (en) * 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
BR112014007494B1 (pt) 2011-09-29 2022-05-31 Sharp Kabushiki Kaisha Dispositivo de decodificação de imagem, método de decodificação de imagem, e dispositivo de codificação de imagem
EP2830312A4 (en) * 2012-03-20 2015-12-02 Samsung Electronics Co Ltd METHOD AND APPARATUS FOR SCREENABLE VIDEO CODING BASED ON ARBORESCENT STRUCTURE CODING UNIT, AND METHOD AND DEVICE FOR DECODING SCREENABLE VIDEO BASED ON ARBORESCENT STRUCTURE CODING UNIT
KR20140072231A (ko) * 2012-11-26 2014-06-13 한국전자통신연구원 율-왜곡 비용의 확률분포를 이용한 비디오 부호화기의 고속 예측모드 결정 방법
CN103067704B (zh) 2012-12-12 2015-12-09 华中科技大学 一种基于编码单元层次提前跳过的视频编码方法和系统
US9106922B2 (en) * 2012-12-19 2015-08-11 Vanguard Software Solutions, Inc. Motion estimation engine for video encoding
KR101580966B1 (ko) * 2014-01-27 2015-12-31 건국대학교 산학협력단 Hevc 인트라 코딩을 위한 코딩 단위 크기 결정 시스템
US9769481B2 (en) * 2014-03-28 2017-09-19 University-Industry Cooperation Group Of Kyung Hee University Method and apparatus for encoding of video using depth information
CN104202612B (zh) * 2014-04-15 2018-11-02 清华大学深圳研究生院 基于四叉树约束的编码单元的划分方法及视频编码方法
CN104023241B (zh) * 2014-05-29 2017-08-04 华为技术有限公司 帧内预测编码的视频编码方法及视频编码装置
CN104602017B (zh) * 2014-06-10 2017-12-26 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
CN104469360B (zh) * 2014-12-16 2018-03-30 北京金山云网络技术有限公司 一种视频编码的快速模式选择方法
CN105812795B (zh) * 2014-12-31 2019-02-12 浙江大华技术股份有限公司 一种最大编码单元的编码模式的确定方法和装置
CN105812797B (zh) * 2014-12-31 2019-03-26 浙江大华技术股份有限公司 一种编码单元选择方法及装置
US9883187B2 (en) * 2015-03-06 2018-01-30 Qualcomm Incorporated Fast video encoding method with block partitioning
CN105391999B (zh) * 2015-10-30 2018-08-17 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105430407B (zh) * 2015-12-03 2018-06-05 同济大学 应用于h.264到hevc转码的快速帧间模式决策方法
CN105430391B (zh) * 2015-12-04 2018-11-16 上海交通大学 基于逻辑回归分类器的帧内编码单元快速选择方法
CN105681808B (zh) * 2016-03-16 2017-10-31 同济大学 一种scc帧间编码单元模式的快速决策方法
CN106454342B (zh) * 2016-09-07 2019-06-25 中山大学 一种视频压缩编码的帧间模式快速选择方法及系统
CN108259918B (zh) 2016-12-29 2020-12-25 北京金山云网络技术有限公司 一种编码单元模式决策方法及装置
CN106713935B (zh) 2017-01-09 2019-06-11 杭州电子科技大学 一种基于贝叶斯决策的hevc块划分快速方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140043015A (ko) * 2012-09-28 2014-04-08 연세대학교 산학협력단 영상 부호화 방법 및 장치
CN107071416A (zh) * 2017-01-06 2017-08-18 华南理工大学 一种hevc帧内预测模式快速选择方法
CN107071418A (zh) * 2017-05-05 2017-08-18 上海应用技术大学 一种基于决策树的hevc帧内编码单元快速划分方法
CN107396121A (zh) * 2017-08-22 2017-11-24 中南大学 一种基于分层b帧结构的编码单元深度预测方法及装置

Also Published As

Publication number Publication date
CN108702505A (zh) 2018-10-23
US11375192B2 (en) 2022-06-28
CN108702505B (zh) 2020-12-11
US20210084302A1 (en) 2021-03-18
SG11202005658VA (en) 2020-07-29

Similar Documents

Publication Publication Date Title
JP6239713B2 (ja) 動画像符号化装置および動画像復号装置
US11070803B2 (en) Method and apparatus for determining coding cost of coding unit and computer-readable storage medium
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
CN111352712A (zh) 云计算任务跟踪处理方法、装置、云计算系统及服务器
WO2019072248A1 (zh) 运动估计方法、装置、电子设备及计算机可读存储介质
US20220182615A1 (en) Image processing method and apparatus, terminal, and computer-readable storage medium
WO2018040869A1 (zh) 一种帧间预测编码方法及装置
Zhang et al. Low-complexity intra coding scheme based on Bayesian and L-BFGS for VVC
CN109218722B (zh) 一种视频编码方法、装置及设备
WO2019113903A1 (zh) 一种编码单元划分决策方法、装置、编码器及存储介质
US10990826B1 (en) Object detection in video
CN111258968B (zh) 企业冗余数据清理方法、装置及大数据平台
CN108683915A (zh) 一种写入dQP值的方法、装置及电子设备
CN113099241B (zh) 参考帧列表更新方法、装置、设备以及存储介质
CN114666579A (zh) 视频编码方法、装置、电子设备及存储介质
CN109561315B (zh) 一种运动估计方法、装置、电子设备及存储介质
JP2014099848A (ja) イメージ分割システム及びその方法
Wen et al. Paired decision trees for fast intra decision in H. 266/VVC
CN105872538A (zh) 时域滤波方法和时域滤波装置
WO2023142663A1 (zh) 编码过程中的运动估计方法、装置、设备、存储介质及程序产品
WO2018205780A1 (zh) 一种运动估计实现方法及电子设备
CN105706447A (zh) 动画图像编码设备、动画图像解码设备、动画图像编码方法、动画图像解码方法以及程序
CN115190309B (zh) 视频帧处理方法、训练方法、装置、设备及存储介质
CN112019848B (zh) 一种预测模式快速分析方法、系统及设备
WO2023226831A1 (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: 17934918

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23.09.2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17934918

Country of ref document: EP

Kind code of ref document: A1