Nothing Special   »   [go: up one dir, main page]

CN108322740B - Encoding method with controllable encoding complexity - Google Patents

Encoding method with controllable encoding complexity Download PDF

Info

Publication number
CN108322740B
CN108322740B CN201810020841.7A CN201810020841A CN108322740B CN 108322740 B CN108322740 B CN 108322740B CN 201810020841 A CN201810020841 A CN 201810020841A CN 108322740 B CN108322740 B CN 108322740B
Authority
CN
China
Prior art keywords
coding
frame
video
coded
current
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201810020841.7A
Other languages
Chinese (zh)
Other versions
CN108322740A (en
Inventor
彭宗举
文鹏
陈芬
蒋刚毅
郁梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hongda Yijia Education Technology Co ltd
Shenzhen Lizhuan Technology Transfer Center Co ltd
Original Assignee
Ningbo University
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 Ningbo University filed Critical Ningbo University
Priority to CN201810020841.7A priority Critical patent/CN108322740B/en
Publication of CN108322740A publication Critical patent/CN108322740A/en
Application granted granted Critical
Publication of CN108322740B publication Critical patent/CN108322740B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]

Landscapes

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

Abstract

The invention discloses a coding method with controllable coding complexity, which intermittently updates the coding reference time of a video, so that the coding reference time of the video is closer to the original coding time, the target coding time distribution of each image group in the video is more reasonable, and the coding complexity control precision of the coded video is greatly improved; the characteristics of a coding frame in a video are reflected by setting flatness, and different coding schemes are selected according to the flatness, so that the quality of the coded video is greatly ensured; aiming at a coding tree unit, reasonable reduction of coding complexity is realized by distributing weight, residual error information, motion information and bit information through complexity, normal coding is selected or coding complexity control is further carried out by comparing the coding time-saving time of all coded coding frames prior to a processed coding frame with the target time-saving time of a video, and rate distortion performance is guaranteed.

Description

Encoding method with controllable encoding complexity
Technical Field
The present invention relates to a method for processing video signals, and more particularly, to a coding method with controllable coding complexity.
Background
With the rapid development of optical fiber technology, 4G communication technology and information processing technology, the industries such as video live broadcast, video monitoring and news live broadcast are developed vigorously. These industries have high requirements on the real-time performance and quality of video coding, but the devices for video coding may be in various environments, which causes the computing power of the devices to be unstable, and the devices cannot code video in real time. By adopting the coding method with controllable coding complexity, the coding complexity can be matched with the computing capability of equipment, and meanwhile, the rate distortion performance and the coding real-time performance can be ensured.
Research aiming at the problem is carried out on High Efficiency Video Coding (HEVC), which is a new generation international Video coding standard determined in 1 month of 2013 by Video coding joint Experts Group JCT-VC (Joint Video coding Experts Group) consisting of ITU-T VCEG (Video coding Experts Group) and ISO/IEC MPEG (Moving Pictures Experts Group). HEVC divides a video sequence into several groups of pictures (GOPs), each GOP containing 4 frames, and each frame is divided into several Coding Tree Units (CTUs) of equal size, and if the video sequence is sampled according to a 4:2:0 sampling format, each CTU contains one luma Tree Block and two chroma Tree blocks, which are the roots of a quad-Tree Coding structure. The CTU may be divided into several equal-sized Coding Units (CUs) according to a quadtree structure, and the size of the Coding units may vary from 64 × 64 to 8 × 8. A CU is a unit that decides whether to perform intra prediction or inter prediction, and the entire CU shares one prediction mode. Each CU can be partitioned into 1,2, or 4 Prediction Units (PU), where a PU is a block of regions using the same Prediction, and a quadtree is partitioned into a number of Transform Units (TU) within the CU, where TU is a block of regions sharing Transform and quantization. Each PU contains a luma, chroma Prediction Block (PB), which may range in size from 4 × 4 up to 64 × 64, and corresponding syntax elements. Each TU contains a luma, chroma Transform Block (TB) and corresponding syntax elements, the size of the TB ranging from 4 × 4 to 32 × 32.
The coding time consumed by continuously traversing the CU and PU prediction modes by the CTU according to the quadtree structure occupies most of the overall coding time of HEVC. Therefore, how to effectively reduce redundant traversal of CU and PU prediction modes and add a reasonable control method is the key of the encoding complexity controllable technology. In recent years, new encoding methods with controllable encoding complexity are proposed internationally, such as: the method reasonably solves the problem of coding complexity distribution of a CTU layer by using the rate-distortion cost corresponding to each CTU of a previous frame, but does not fully consider the characteristics of images; for another example: amaya proposes an HEVC complexity controllable method based on fast coding unit decision, which obtains good rate-distortion performance by updating the early termination threshold in real time, but the control accuracy of the method needs to be further improved. In China, Dunxin of Beijing aerospace university proposes an HEVC hierarchical complexity control method for real-time video coding, which distributes the coding complexity of CTUs through region-of-interest weights to improve the subjective quality, but in the method, coding reference time prediction cannot be updated in real time along with the change of coding characteristics.
Disclosure of Invention
The technical problem to be solved by the invention is to provide an encoding method with controllable encoding complexity, which can discontinuously update the encoding reference time, so that the encoding reference time is closer to the original encoding time, and the control precision is improved by combining an effective encoding complexity control process, and the encoding scheme can be adjusted according to the characteristics of an encoding frame, so that the rate-distortion performance is ensured to the maximum extent.
The technical scheme adopted by the invention for solving the technical problems is as follows: a coding method with controllable coding complexity is characterized in that the coding method adopts JVT recommended low-delay coding configuration to code a video on a video coding check model HM based on an HEVC video coding standard, and the coding method comprises the following steps:
step 1): setting a video to be coded to contain an F frame coding frame; splitting video to be encoded into
Figure GDA0002258862880000021
The 1 st group of pictures comprises 1 frame of coding frame, and each of the rest groups of pictures comprises 4 frames of coding frames; setting each frame in each image group in video to be coded to contain NCTUA coding tree unit; wherein F > 9, symbols
Figure GDA0002258862880000022
Is a sign of an upward rounding operation;
step 2): low-latency coding configuration recommended by JVT is adopted for the first 3 image groups in video to be codedThe method comprises the steps of coding each frame of coded frames, storing bits corresponding to an optimal mode and information of optimal segmentation or non-optimal segmentation of the bits under different depth values of each coding unit in each coding tree unit in each frame of a 2 nd image group and a 3 rd image group in a video to be coded in a coding process, obtaining the actual coding time of each frame of coded frames in the first 3 image groups in the video to be coded and the actual coding time of each coding tree unit in each frame of coded frames after the coding is finished, and recording the actual coding time of the coded frames with the sequence number f' as tf'The actual coding time of the coding tree unit with sequence number i in the coding frame with sequence number f' is recorded as tf',i(ii) a Then calculating the proportion of the actual coding time of each frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded, and marking the proportion of the actual coding time of the k-th frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded as Pk(ii) a And calculating the coding reference time of the video to be coded, which is recorded as To
Figure GDA0002258862880000031
According to bits corresponding to an optimal mode and information of optimal segmentation or non-optimal segmentation obtained by each coding unit in each coding tree unit in each frame of coding frames in a 2 nd image group and a 3 rd image group in a video to be coded under different depth values, when the bits corresponding to the optimal mode obtained by all the coding units under different depth values are less than or equal to a set Bit, probability functions of optimal segmentation and non-optimal segmentation of all the coding units under different depth values are obtained, and bits Bit corresponding to the optimal mode obtained by all the coding units under a depth value d are useddWhen the Bit is less than or equal to the set Bit, the probability function that all the coding units under the depth value d are optimally segmented and the probability function that all the coding units are not optimally segmented are correspondingly marked as
Figure GDA0002258862880000032
And
Figure GDA0002258862880000033
Figure GDA0002258862880000034
and
Figure GDA0002258862880000035
and will be
Figure GDA0002258862880000036
Ninety-seven percent of the maximum value of (a) is noted as YdWill be
Figure GDA0002258862880000037
Ninety-seven percent of the maximum value of (a) is noted as Nd(ii) a Then determining an early termination threshold and a continuous traversal threshold, and correspondingly marking as LdAnd Hd
Figure GDA0002258862880000038
Hd=0.7×Yd
Calculating the proportion of the total number of pixel points in all coding units with the optimal depth value of 0 in a coding frame with the sequence number of 8 in the video to be coded to the total number of pixel points in the coding frame with the sequence number of 8 in the video to be coded, and taking the proportion as the flatness of the video to be coded and recording the flatness as delta;
wherein f' is more than or equal to 0 and less than or equal to 8, i is more than or equal to 0 and less than or equal to NCTU-1, 1 ≦ k ≦ 4, d ≦ 0,1,2, setting Bit to any one Bit,
Figure GDA0002258862880000041
representing all coding units under depth value d as optimal partitions and satisfying BitdThe probability value of not more than Bit,
Figure GDA0002258862880000042
representing all coding units at depth value d not being optimally partitioned andsatisfy BitdProbability value less than or equal to Bit, e is natural base number, TcRepresenting the target complexity, T, of the video to be encodedc∈[0.5,1];
Step 3): defining a current to-be-processed coded frame with the sequence number F in a video to be coded as a current coded frame, wherein F is more than or equal to 9 and less than or equal to F-1;
step 4): judging whether the current coding frame is the 1 st frame in the group of pictures to which the current coding frame belongs, if so, calculating the target coding time of the group of pictures to which the current coding frame belongs, and recording the target coding time as TGOP
Figure GDA0002258862880000043
Then step 5) is executed; otherwise, directly executing the step 5); wherein, tgRepresenting the actual coding time of a coding frame with the sequence number g in the video to be coded;
step 5): judging whether the current coding frame is separated from the coding frame with the serial number of 8 by a multiple of 16 frames, if so, taking the current coding frame as the coding frame needing to be updated, coding the current coding frame by adopting the low-delay coding configuration recommended by JVT (JVT) and updating ToAnd delta, ToPush type
Figure GDA0002258862880000044
Updating, wherein the value after delta updating is the proportion of the total number of pixel points in all coding units with the optimal depth value of 0 in the current coding frame to the total number of all pixel points in the current coding frame, and then executing the step 15); otherwise, directly executing the step 6); wherein, t(g-1)×16+8Represents the actual coding time, P, of the coded frame with sequence number (g-1). times.16 +8 in the video to be coded4Representing the proportion of the actual coding time of the 4 th frame of the coding frame in the 3 rd image group in the video to be coded to the sum of the actual coding times of all the coding frames in the 3 rd image group in the video to be coded;
step 6): calculating the encoded time savings, denoted T, for all encoded frames preceding the current encoded frames
Figure GDA0002258862880000051
Then, T is judgedsTime saving T if it is less than the target of the video to be encodedo×(1-Tc) If yes, directly executing step 7); otherwise, encoding the current encoding frame by adopting the low-delay encoding configuration recommended by the JVT, and then executing the step 15);
step 7): calculating the target coding time, denoted T, assigned to the current coding frame according to the position of the current coding frame in the group of pictures to which it belongsfIf the current coding frame is the k-th frame in the image group to which the current coding frame belongs, Tf=TGOP×Pk(ii) a Then judging whether the current coding frame is the 1 st frame in the image group to which the current coding frame belongs or whether the coding frame of the previous frame of the current coding frame adopts the low-delay coding configuration recommended by JVT for coding, if so, directly executing the step 9); otherwise, directly executing step 8);
step 8): judging the difference T between the target coding time and the actual coding time of the previous frame of the current coding framef-1-tf-1Saving time if it is larger than the set frame target
Figure GDA0002258862880000052
If yes, executing step 13); otherwise, directly executing step 9); wherein, tf-1Represents the actual coding time of the coded frame preceding the current coded frame, and also represents the actual coding time of the coded frame with sequence number f-1, Tf-1Representing a target encoding time of an encoded frame previous to the current encoded frame;
step 9): calculating target coding time allocated to each coding tree unit in the current coding frame, and recording the target coding time allocated to the coding tree unit with the sequence number i in the current coding frame as TCTU,i
Figure GDA0002258862880000053
Then, the target coding time allocated to each coding tree unit in the current coding frame is normalized, and T is calculatedCTU,iThe value obtained after normalization is recorded as
Figure GDA0002258862880000054
Obtaining
Figure GDA0002258862880000055
Taking the actual coding time of a coding tree unit with the sequence number i in the kth frame coding frame in the 3 rd image group in the video to be coded as a normalized denominator; then step 10) is executed; wherein R iscodedRepresents the sum of the actual coding times, ω, of all coded coding tree units in the current coding frameiIndicates the complexity assignment weight, ω, of the coding tree unit with sequence number i in the current coding framepre,mThe complexity of a coding tree unit with the sequence number of m in a coding frame of the kth frame in a group of pictures before the current coding frame is assigned with a weight, wherein m is more than or equal to 0 and less than or equal to NCTU-1;
Step 10): judging whether delta is smaller than 0.4, if so, skipping all prediction modes behind the 2 Nx 2N mode between frames when the depth value of each coding tree unit in the current coding frame is 0, allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number of i in the current coding frame as dmax,i
Figure GDA0002258862880000061
Then step 11) is executed; otherwise, directly allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number i in the current coding frame as dmax,i
Figure GDA0002258862880000062
Then step 11) is executed;
step 11): traversing each coding unit in each coding tree unit in the current coding frame in an inter-frame 2 Nx 2N mode under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs; then, for each coding unit in each coding tree unit in the current coding frame, a coding unit to which the depth value is not greater than that of the coding unit is calculatedThen, judging whether the absolute values of the differences corresponding to all the pixel points in each coding unit in the coding unit are all smaller than a set threshold β and the motion vector of the coding unit is 0 or not under the depth value d ' of each coding unit in each coding tree unit in the current coding frame, if so, enabling the coding unit to skip all the prediction modes behind the 2 Nx 2N mode between frames when the depth value d ' is larger, skipping the traversal process when the depth value is larger than d ', and then executing the step 15), otherwise, directly executing the step 12), wherein the value range of the depth value is the range of the original pixel value and the predicted pixel value of each pixel point in the coding unit under the maximum depth value of the coding tree unit
Figure GDA0002258862880000063
dmaxRepresenting a maximum depth value of a coding tree unit to which the coding unit belongs;
step 12): after the traversal process of each coding unit in each coding tree unit in the current coding frame under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs is completed, whether a bit corresponding to the optimal mode of the coding unit under the depth value d' is smaller than L or not is judged for each coding unit in each coding tree unit in the current coding framedIf it is less than LdThen the encoding unit skips the traversal process with depth value larger than d', and then executes step 15); if greater than or equal to LdThen, it is determined whether the bit corresponding to the optimal mode of the coding unit under the depth value d' is larger than HdAnd whether d' is greater than or equal to the maximum depth value of the coding tree unit to which the coding unit belongs, if so, the coding unit is subjected to a traversal process in which the depth value is greater than the maximum depth value of the coding tree unit to which the coding unit belongs, and then step 15) is executed, otherwise, step 15) is directly executed;
step 13): calculating the complexity distribution weight of each coding tree unit in the current coding frame, and recording the complexity distribution weight of the coding tree unit with the sequence number i in the current coding frame as omegai(ii) a Then step 14) is executed;
step 14), making each coding unit in each coding tree unit in the current coding frame traverse an inter-frame 2 Nx 2N mode under each depth value, then calculating the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding unit under each depth value for each coding unit in each coding tree unit in the current coding frame, then judging whether the absolute value of the difference value corresponding to all the pixel points in the coding unit is less than a set threshold value β and the motion vector of the coding unit is 0 under each depth value d ' for each coding unit in each coding tree unit in the current coding frame, if so, making the coding unit skip all the predicted modes behind the inter-frame 2 Nx 2N mode when the depth value d ' is reached, and skip the traversal process when the depth value is greater than d ', and then executing step 15), otherwise, executing step 15 after the traversal process under each depth value of each coding unit in each coding tree unit in the current coding frame is completed, wherein the value range of the depth value is [0,2 ];
step 15): taking the next frame to be processed in the video to be coded as a current coding frame, and then returning to the step 4) to continue execution until all coding frames in the video to be coded are processed; wherein, f is the assigned symbol, and f +1 is the assigned symbol.
In said step 9) and said step 13), ωiThe calculation process of (2) is as follows: traversing the inter-frame 2 Nx 2N mode when the depth value of the coding tree unit with the serial number i in the current coding frame is 0 to obtain the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding tree unit with the serial number i in the current coding frame; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegaiA specific value of (a);
in the step 9), if a group of pictures preceding a group of pictures to which the current encoding frame belongs is a group of pictures 3 in the video to be encoded, ω is a group of picturespre,mThe calculation process of (2) is as follows: when the depth value of a coding tree unit with the sequence number of m in the kth frame coding frame in the 3 rd image group in the video to be coded is 0, traversing the 2 Nx 2N mode between frames to obtain the difference between the original pixel value and the predicted pixel value of each pixel point in the coding tree unitA value; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegapre,mSpecific values of (a).
In the step 11) described above, the step,
Figure GDA0002258862880000081
wherein QP represents an encoding quantization parameter of the video to be encoded.
Compared with the prior art, the invention has the advantages that:
1) the method of the invention continuously updates the coding reference time of the video according to a certain interruption, so that the coding reference time of the video is closer to the original coding time, the target coding time distribution of each image group in the video is more reasonable, and the coding complexity control precision of the coded video is greatly improved.
2) The method reflects the characteristics of the coding frame in the video by setting the flatness, and selects different coding schemes according to the flatness, thereby greatly ensuring the quality of the coded video.
3) The method of the invention realizes reasonable reduction of coding complexity by distributing weight, residual error information, motion information and bit information for coding tree units through complexity, and selects normal coding or further performs coding complexity control by comparing the coding time-saving time of all coded coding frames prior to the current coding frame with the target time-saving time of the video to be coded, thereby ensuring rate distortion performance.
4) The method of the invention allocates the target coding time of the image group to each frame coding frame in the image group according to the proportion, so that the rate distortion performance loss of each frame coding frame in the image group is similar, the condition that the distortion performance loss difference of each frame rate is larger due to the fact that the frames are allocated according to the average in the past is avoided, and the rate distortion performance loss of the coded video is greatly reduced.
5) The method is realized by distributing the weight through the complexity of each coding tree unit in each frame of coding frame on the target coding time distribution of each coding tree unit in each frame of coding frame, so that the rate distortion performance loss of each coding tree unit in each frame of coding frame is smaller, and the rate distortion performance loss of the coded video is greatly reduced.
Drawings
FIG. 1 is a block diagram of an overall implementation of the method of the present invention;
FIG. 2a is the partitioning of the picture and coding tree unit with sequence number 17 after "BQALL" test video sequence coding reconstruction on HM 13.0 platform;
fig. 2b shows the partitioning of the picture and coding tree unit with sequence number 17 after the "BQMall" test video sequence is coded and reconstructed on HM 13.0 platform incorporating the method of the present invention and the target complexity of the "BQMall" test video sequence is 0.6.
Detailed Description
The invention is described in further detail below with reference to the accompanying examples.
The invention provides a coding method with controllable coding complexity, which is used for coding a video by adopting a low-delay coding configuration recommended by JVT (joint video transform) on a video coding verification model HM based on an HEVC (high efficiency video coding) standard, and a general implementation block diagram of the coding method is shown in figure 1, and the coding method comprises the following steps:
step 1): setting a video to be coded to contain an F frame coding frame; splitting video to be encoded into
Figure GDA0002258862880000091
The 1 st group of pictures comprises 1 frame of coding frame, and each of the rest groups of pictures comprises 4 frames of coding frames; setting each frame in each image group in video to be coded to contain NCTUA coding tree unit; wherein F > 9, symbols
Figure GDA0002258862880000092
Is the sign of the rounding up operation.
Step 2): coding each frame in the first 3 groups of pictures in a video to be coded by adopting a low-delay coding configuration recommended by JVT (joint video transform), and storing the 2 nd group of pictures and the 3 rd picture in the video to be coded in the coding processObtaining the bit corresponding to the optimal mode and the information of optimal segmentation or non-optimal segmentation of each coding unit in each coding tree unit in each frame of coding frame in the image group under different depth values, obtaining the actual coding time of each frame of coding frame in the first 3 image groups in the video to be coded and the actual coding time of each coding tree unit in each frame of coding frame after the coding is finished, and recording the actual coding time of the coding frame with the sequence number f' as tf'The actual coding time of the coding tree unit with sequence number i in the coding frame with sequence number f' is recorded as tf',i(ii) a Then calculating the proportion of the actual coding time of each frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded, and marking the proportion of the actual coding time of the k-th frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded as Pk(ii) a And calculating the coding reference time of the video to be coded, which is recorded as To
Figure GDA0002258862880000101
According to bits corresponding to an optimal mode and information of optimal segmentation or non-optimal segmentation obtained by each coding unit in each coding tree unit in each frame of coding frames in a 2 nd image group and a 3 rd image group in a video to be coded under different depth values, when the bits corresponding to the optimal mode obtained by all the coding units under different depth values are less than or equal to a set Bit, probability functions of optimal segmentation and non-optimal segmentation of all the coding units under different depth values are obtained, and bits Bit corresponding to the optimal mode obtained by all the coding units under a depth value d are useddWhen the Bit is less than or equal to the set Bit, the probability function that all the coding units under the depth value d are optimally segmented and the probability function that all the coding units are not optimally segmented are correspondingly marked as
Figure GDA0002258862880000102
And
Figure GDA0002258862880000103
Figure GDA0002258862880000104
and
Figure GDA0002258862880000105
and will be
Figure GDA0002258862880000106
Ninety-seven percent of the maximum value of (a) is noted as YdWill be
Figure GDA0002258862880000107
Ninety-seven percent of the maximum value of (a) is noted as Nd(ii) a Then determining an early termination threshold and a continuous traversal threshold, and correspondingly marking as LdAnd Hd
Figure GDA0002258862880000108
Hd=0.7×Yd
And calculating the proportion of the total number of the pixel points in all the coding units with the optimal depth value of 0 in the coding frame with the sequence number of 8 in the video to be coded to the total number of the pixel points in the coding frame with the sequence number of 8 in the video to be coded, and taking the proportion as the flatness of the video to be coded and recording the flatness as delta.
Wherein f' is more than or equal to 0 and less than or equal to 8, i is more than or equal to 0 and less than or equal to NCTU-1, 1 ≦ k ≦ 4, d ≦ 0,1,2, the set Bit may be any Bit since its size has no effect on subsequent operations and therefore may be any Bit,
Figure GDA0002258862880000109
representing all coding units under depth value d as optimal partitions and satisfying BitdThe probability value of not more than Bit,
Figure GDA00022588628800001010
representing that all coding units under depth value d are not optimally segmented and satisfy BitdProbability value less than or equal to Bit, e is natural base number, TcRepresenting the target complexity, T, of the video to be encodedc∈[0.5,1],TcIs set by itself, e.g. taking Tc=0.8。
Step 3): defining a current to-be-processed coded frame with the sequence number F in a video to be coded as a current coded frame, wherein F is more than or equal to 9 and less than or equal to F-1.
Step 4): judging whether the current coding frame is the 1 st frame in the group of pictures to which the current coding frame belongs, if so, calculating the target coding time of the group of pictures to which the current coding frame belongs, and recording the target coding time as TGOP
Figure GDA0002258862880000111
Then step 5) is executed; otherwise, directly executing the step 5); wherein, tgWhich represents the actual coding time of the coded frame with sequence number g in the video to be coded.
Step 5): judging whether the current coding frame is separated from the coding frame with the serial number of 8 by a multiple of 16 frames, if so, taking the current coding frame as the coding frame needing to be updated, coding the current coding frame by adopting the low-delay coding configuration recommended by JVT (JVT) and updating ToAnd delta, ToPush type
Figure GDA0002258862880000112
Updating, wherein the value after delta updating is the proportion of the total number of pixel points in all coding units with the optimal depth value of 0 in the current coding frame to the total number of all pixel points in the current coding frame, and then executing the step 15); otherwise, directly executing the step 6); wherein, t(g-1)×16+8Represents the actual coding time, P, of the coded frame with sequence number (g-1). times.16 +8 in the video to be coded4The ratio of the actual coding time of the 4 th frame of the 3 rd image group in the video to be coded to the sum of the actual coding times of all the coding frames in the 3 rd image group in the video to be coded is represented.
Step 6): calculating the encoded time savings, denoted T, for all encoded frames preceding the current encoded frames
Figure GDA0002258862880000113
Then, T is judgedsTime saving T if it is less than the target of the video to be encodedo×(1-Tc) If yes, directly executing step 7); otherwise, the current coding frame is coded using the low-latency coding configuration recommended by the JVT, and then step 15) is performed.
Step 7): calculating the target coding time, denoted T, assigned to the current coding frame according to the position of the current coding frame in the group of pictures to which it belongsfIf the current coding frame is the k-th frame in the image group to which the current coding frame belongs, Tf=TGOP×Pk(ii) a Then judging whether the current coding frame is the 1 st frame in the image group to which the current coding frame belongs or whether the coding frame of the previous frame of the current coding frame adopts the low-delay coding configuration recommended by JVT for coding, if so, directly executing the step 9); otherwise, step 8) is performed directly.
Step 8): judging the difference T between the target coding time and the actual coding time of the previous frame of the current coding framef-1-tf-1Saving time if it is larger than the set frame target
Figure GDA0002258862880000121
If yes, executing step 13); otherwise, directly executing step 9); wherein, tf-1Represents the actual coding time of the coded frame preceding the current coded frame, and also represents the actual coding time of the coded frame with sequence number f-1, Tf-1Representing the target encoding time of the encoded frame that is previous to the current encoded frame.
Step 9): calculating target coding time allocated to each coding tree unit in the current coding frame, and recording the target coding time allocated to the coding tree unit with the sequence number i in the current coding frame as TCTU,i,
Figure GDA0002258862880000122
Then, the target coding time allocated to each coding tree unit in the current coding frame is normalized, and T is calculatedCTU,iThe value obtained after normalization is recorded as
Figure GDA0002258862880000123
Obtaining
Figure GDA0002258862880000124
Taking the actual coding time of a coding tree unit with the sequence number i in the kth frame coding frame in the 3 rd image group in the video to be coded as a normalized denominator; then step 10) is executed; wherein R iscodedRepresents the sum of the actual coding times, ω, of all coded coding tree units in the current coding frameiIndicates the complexity assignment weight, ω, of the coding tree unit with sequence number i in the current coding framepre,mThe complexity of a coding tree unit with the sequence number of m in a coding frame of the kth frame in a group of pictures before the current coding frame is assigned with a weight, wherein m is more than or equal to 0 and less than or equal to NCTU-1。
In this embodiment, in step 9), ωiThe calculation process of (2) is as follows: traversing the inter-frame 2 Nx 2N mode when the depth value of the coding tree unit with the serial number i in the current coding frame is 0 to obtain the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding tree unit with the serial number i in the current coding frame; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegaiSpecific values of (a).
In this embodiment, in step 9), if the group of pictures before the group of pictures to which the current encoding frame belongs is the group of pictures 3 in the video to be encoded, ω ispre,mThe calculation process of (2) is as follows: when the depth value of a coding tree unit with the sequence number of m in a kth frame coding frame in a 3 rd image group in a video to be coded is 0, traversing an inter-frame 2 Nx 2N mode to obtain a difference value between an original pixel value and a predicted pixel value of each pixel point in the coding tree unit; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegapre,mSpecific values of (a).
Step 10): judging whether delta is less than 0.4, if so, making each coding tree list in the current coding frameSkipping all the prediction modes behind the 2 Nx 2N mode between frames when the depth value is 0 by each coding unit in the element, allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number i in the current coding frame as dmax,i
Figure GDA0002258862880000131
Then step 11) is executed; otherwise, directly allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number i in the current coding frame as dmax,i
Figure GDA0002258862880000132
Then step 11) is performed.
Step 11) making each coding unit in each coding tree unit in the current coding frame traverse the inter-frame 2 Nx 2N mode under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs, then calculating the difference value between the original pixel value and the predicted pixel value of each pixel point in each coding unit under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs for each coding unit in each coding tree unit in the current coding frame, then judging whether the absolute value of the difference value corresponding to all the pixel points in each coding unit is smaller than the set threshold β and the motion vector of the coding unit is 0 under the condition that each coding unit in each coding tree unit in the current coding frame is under the depth value d ', if so, making the coding unit skip all the prediction modes behind the inter-frame 2 Nx 2N mode when the depth value is d ', skipping the process that the depth value is larger than d ', then executing step 15), otherwise, directly executing step 12), wherein the value range of the depth value here is the value of the traversal range of the depth value
Figure GDA0002258862880000133
dmaxRepresents the maximum depth value of the coding tree unit to which the coding unit belongs, i.e. if the coding unit to be processed belongs to the coding tree unit with sequence number i in the current coding frame, the value of the depth value is normalizedEnclose as
Figure GDA0002258862880000134
In this embodiment, in step 11),
Figure GDA0002258862880000141
wherein QP represents an encoding quantization parameter of the video to be encoded.
Step 12): after the traversal process of each coding unit in each coding tree unit in the current coding frame under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs is completed, whether a bit corresponding to the optimal mode of the coding unit under the depth value d' is smaller than L or not is judged for each coding unit in each coding tree unit in the current coding framedIf it is less than LdThen the encoding unit skips the traversal process with depth value larger than d', and then executes step 15); if greater than or equal to LdThen, it is determined whether the bit corresponding to the optimal mode of the coding unit under the depth value d' is larger than HdAnd whether d' is greater than or equal to the maximum depth value of the coding tree unit to which the coding unit belongs, if so, the coding unit is subjected to a traversal process in which the depth value is greater than the maximum depth value of the coding tree unit to which the coding unit belongs, and then step 15) is executed, otherwise, step 15) is directly executed.
Step 13): calculating the complexity distribution weight of each coding tree unit in the current coding frame, and recording the complexity distribution weight of the coding tree unit with the sequence number i in the current coding frame as omegai(ii) a Then step 14) is performed.
In this embodiment, ω) in step 13)iThe calculation process of (2) is as follows: traversing the inter-frame 2 Nx 2N mode when the depth value of the coding tree unit with the serial number i in the current coding frame is 0 to obtain the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding tree unit with the serial number i in the current coding frame; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegaiSpecific values of (a).
Step 14), making each coding unit in each coding tree unit in the current coding frame traverse the inter-frame 2 Nx 2N mode under each depth value, then calculating the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding unit under each depth value for each coding unit in each coding tree unit in the current coding frame, then judging whether the absolute value of the difference value corresponding to all pixel points in the coding unit is less than the set threshold value β and the motion vector of the coding unit is 0 under each depth value d ' for each coding unit in each coding tree unit in the current coding frame, if so, making the coding unit skip all the prediction modes behind the inter-frame 2 Nx 2N mode when the depth value d ' is reached, and skip the traversal process when the depth value is greater than d ', and then executing step 15), otherwise, after the traversal process under each depth value of each coding unit in each coding tree unit in the current coding frame is completed, then executing step 15), wherein the value range of the depth value is [0,2], namely, if the coding unit belonging to the current coding frame is the value of the coding unit is less than or than 0, then executing step 15.
Step 15): taking the next frame to be processed in the video to be coded as a current coding frame, and then returning to the step 4) to continue execution until all coding frames in the video to be coded are processed; wherein, f is the assigned symbol, and f +1 is the assigned symbol.
FIG. 2a shows the partitioning of the coding tree unit and the picture with sequence number 17 after "BQALL" test video sequence coding reconstruction on HM 13.0 platform; fig. 2b shows the segmentation of the picture and coding tree unit with sequence number 17 after the "BQMall" test video sequence is coded and reconstructed on HM 13.0 platform incorporating the method of the present invention and the target complexity of the "BQMall" test video sequence is 0.6. Analyzing fig. 2a and fig. 2b, from the subjective quality of human eyes, the original reconstructed image (the image shown in fig. 2 a) and the reconstructed image with limited coding complexity (the image shown in fig. 2 b) have almost no difference, and do not affect the subjective feeling of human eyes; from the aspect of coding tree unit segmentation, although the coding tree unit segmentation of the reconstructed image with limited coding complexity is different from the coding tree unit segmentation of the original reconstructed image, the two finely segmented regions are highly overlapped, which shows that the method can better maintain the rate distortion performance under the condition of limited coding complexity.
In order to test the performance of the method, the method is realized on a computer with an Intel (R) core (TM) i5-7500 CPU @3.4GHz and 8GB memory by using an HM 13.0 platform. The configuration mode adopts low-delay coding configuration, the detailed coding configuration is listed as table 1, and the test video sequences in table 2 have different target complexity TcAnd coding to obtain the corresponding rate distortion performance.
Table 2 shows the coding performance of each video sequence under different target complexity using the method of the present invention, where Δ BR represents the difference between the code rate obtained by the coding using the method of the present invention and the original code rate, and Δ PSNR represents the difference between the peak signal-to-noise ratio obtained by the coding using the method of the present invention and the original peak signal-to-noise ratio, which are used to measure the performance of the method of the present invention. As can be seen from Table 2, the method of the present invention has better adaptability to test video sequences of different resolutions under the condition of the same control degree (i.e. target complexity); the attenuation of the test video sequence under different control degrees (namely the target complexity) is relatively smooth, which shows that the method of the invention can well ensure the rate distortion performance.
Table 3 shows the complexity T of each test video sequence at different target levels by using the method of the present inventioncAnd (3) controlling the video sequence after coding, wherein TS is adopted to reflect the actual time saving, and the Mean Absolute error (MAD) of the actual time saving and the target time saving of all the test video sequences is adopted to reflect the control precision of the method. As can be seen from Table 3, the deviation between the actual time saving and the target time saving of a single test video sequence is only 3.77%, and the maximum MAD which can accurately reflect the control accuracy of the method is 1.22%, which indicates that the method has better control accuracy.
Exemplary configurations of tables 1 HM-13.0
Size of coding tree unit 64×64
Encoding quantization parameter 22、27、32、37
Maximum depth value 3
Sample adaptive compensation enabling 1
Fast encoder setup enable 1
Converged mode fast decision enable 1
Intra frame spacing -1
Image group structure IPPP
Table 2 coding performance of each video sequence at different target complexity using the method of the present invention
Figure GDA0002258862880000161
Figure GDA0002258862880000171
Table 3 control deviation of each test video sequence at different target complexity using the method of the present invention
Figure GDA0002258862880000172
Figure GDA0002258862880000181

Claims (3)

1. A coding method with controllable coding complexity is characterized in that the coding method adopts JVT recommended low-delay coding configuration to code a video on a video coding check model HM based on an HEVC video coding standard, and the coding method comprises the following steps:
step 1): setting a video to be coded to contain an F frame coding frame; splitting video to be encoded into
Figure FDA0001543490140000011
The 1 st group of pictures comprises 1 frame of coding frame, and each of the rest groups of pictures comprises 4 frames of coding frames; setting each frame in each image group in video to be coded to contain NCTUA coding tree unit; wherein, F>9, symbol
Figure FDA0001543490140000012
Is a sign of an upward rounding operation;
step 2): coding each frame of the first 3 image groups in the video to be coded by adopting the low-delay coding configuration recommended by JVT, storing the bit corresponding to the optimal mode and the information of optimal segmentation or non-optimal segmentation of each coding unit in each coding tree unit in the 2 nd image group in the video to be coded and each coding unit in each frame of the coding frame in the 3 rd image group in the coding process, and obtaining the actual coding time of each frame of the first 3 image groups in the video to be coded and the actual coding time of each coding tree unit in each frame of the coding frame after the coding is finishedCode time, the actual coding time of the coded frame with the sequence number f' is recorded as tf'The actual coding time of the coding tree unit with sequence number i in the coding frame with sequence number f' is recorded as tf',i(ii) a Then calculating the proportion of the actual coding time of each frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded, and marking the proportion of the actual coding time of the k-th frame in the 3 rd image group in the video to be coded in the total actual coding time of all the coding frames in the 3 rd image group in the video to be coded as Pk(ii) a And calculating the coding reference time of the video to be coded, which is recorded as To
Figure FDA0001543490140000013
According to bits corresponding to an optimal mode and information of optimal segmentation or non-optimal segmentation obtained by each coding unit in each coding tree unit in each frame of coding frames in a 2 nd image group and a 3 rd image group in a video to be coded under different depth values, when the bits corresponding to the optimal mode obtained by all the coding units under different depth values are less than or equal to a set Bit, probability functions of optimal segmentation and non-optimal segmentation of all the coding units under different depth values are obtained, and bits Bit corresponding to the optimal mode obtained by all the coding units under a depth value d are useddWhen the Bit is less than or equal to the set Bit, the probability function that all the coding units under the depth value d are optimally segmented and the probability function that all the coding units are not optimally segmented are correspondingly marked as
Figure FDA0001543490140000021
And
Figure FDA0001543490140000022
and
Figure FDA0001543490140000023
and will be
Figure FDA0001543490140000024
Ninety-seven percent of the maximum value of (a) is noted as YdWill be
Figure FDA0001543490140000025
Ninety-seven percent of the maximum value of (a) is noted as Nd(ii) a Then determining an early termination threshold and a continuous traversal threshold, and correspondingly marking as LdAnd Hd
Figure FDA0001543490140000026
Hd=0.7×Yd
Calculating the proportion of the total number of pixel points in all coding units with the optimal depth value of 0 in a coding frame with the sequence number of 8 in the video to be coded to the total number of pixel points in the coding frame with the sequence number of 8 in the video to be coded, and taking the proportion as the flatness of the video to be coded and recording the flatness as delta;
wherein f' is more than or equal to 0 and less than or equal to 8, i is more than or equal to 0 and less than or equal to NCTU-1, 1 ≦ k ≦ 4, d ≦ 0,1,2, setting Bit to any one Bit,
Figure FDA0001543490140000027
representing all coding units under depth value d as optimal partitions and satisfying BitdThe probability value of not more than Bit,
Figure FDA0001543490140000028
representing that all coding units under depth value d are not optimally segmented and satisfy BitdProbability value less than or equal to Bit, e is natural base number, TcRepresenting the target complexity, T, of the video to be encodedc∈[0.5,1];
Step 3): defining a current to-be-processed coded frame with the sequence number F in a video to be coded as a current coded frame, wherein F is more than or equal to 9 and less than or equal to F-1;
step 4): judging whether the current coding frame is the 1 st frame in the image group to which the current coding frame belongs, if so, calculating the target coding of the image group to which the current coding frame belongsCode time, noted as TGOP
Figure FDA0001543490140000029
Then step 5) is executed; otherwise, directly executing the step 5); wherein, tgRepresenting the actual coding time of a coding frame with the sequence number g in the video to be coded;
step 5): judging whether the current coding frame is separated from the coding frame with the serial number of 8 by a multiple of 16 frames, if so, taking the current coding frame as the coding frame needing to be updated, coding the current coding frame by adopting the low-delay coding configuration recommended by JVT (JVT) and updating ToAnd delta, ToPush type
Figure FDA0001543490140000031
Updating, wherein the value after delta updating is the proportion of the total number of pixel points in all coding units with the optimal depth value of 0 in the current coding frame to the total number of all pixel points in the current coding frame, and then executing the step 15); otherwise, directly executing the step 6); wherein, t(g-1)×16+8Represents the actual coding time, P, of the coded frame with sequence number (g-1). times.16 +8 in the video to be coded4Representing the proportion of the actual coding time of the 4 th frame of the coding frame in the 3 rd image group in the video to be coded to the sum of the actual coding times of all the coding frames in the 3 rd image group in the video to be coded;
step 6): calculating the encoded time savings, denoted T, for all encoded frames preceding the current encoded frames
Figure FDA0001543490140000032
Then, T is judgedsTime saving T if it is less than the target of the video to be encodedo×(1-Tc) If yes, directly executing step 7); otherwise, encoding the current encoding frame by adopting the low-delay encoding configuration recommended by the JVT, and then executing the step 15);
step 7): calculating the target coding time allocated to the current coding frame according to the position of the current coding frame in the image group to which the current coding frame belongsIs marked as TfIf the current coding frame is the k-th frame in the image group to which the current coding frame belongs, Tf=TGOP×Pk(ii) a Then judging whether the current coding frame is the 1 st frame in the image group to which the current coding frame belongs or whether the coding frame of the previous frame of the current coding frame adopts the low-delay coding configuration recommended by JVT for coding, if so, directly executing the step 9); otherwise, directly executing step 8);
step 8): judging the difference T between the target coding time and the actual coding time of the previous frame of the current coding framef-1-tf-1Saving time if it is larger than the set frame target
Figure FDA0001543490140000033
If yes, executing step 13); otherwise, directly executing step 9); wherein, tf-1Represents the actual coding time of the coded frame preceding the current coded frame, and also represents the actual coding time of the coded frame with sequence number f-1, Tf-1Representing a target encoding time of an encoded frame previous to the current encoded frame;
step 9): calculating target coding time allocated to each coding tree unit in the current coding frame, and recording the target coding time allocated to the coding tree unit with the sequence number i in the current coding frame as TCTU,i
Figure FDA0001543490140000041
Then, the target coding time allocated to each coding tree unit in the current coding frame is normalized, and T is calculatedCTU,iThe value obtained after normalization is recorded as
Figure FDA0001543490140000042
Obtaining
Figure FDA0001543490140000043
Taking the actual coding time of a coding tree unit with the sequence number i in the kth frame coding frame in the 3 rd image group in the video to be coded as a normalized denominator; then step 10) is executed; wherein R iscodedRepresents the sum of the actual coding times, ω, of all coded coding tree units in the current coding frameiIndicates the complexity assignment weight, ω, of the coding tree unit with sequence number i in the current coding framepre,mThe complexity of a coding tree unit with the sequence number of m in a coding frame of the kth frame in a group of pictures before the current coding frame is assigned with a weight, wherein m is more than or equal to 0 and less than or equal to NCTU-1;
Step 10): judging whether delta is smaller than 0.4, if so, skipping all prediction modes behind the 2 Nx 2N mode between frames when the depth value of each coding tree unit in the current coding frame is 0, allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number of i in the current coding frame as dmax,i
Figure FDA0001543490140000044
Then step 11) is executed; otherwise, directly allocating the maximum depth value to each coding tree unit in the current coding frame, and recording the maximum depth value allocated to the coding tree unit with the sequence number i in the current coding frame as dmax,i
Figure FDA0001543490140000045
Then step 11) is executed;
step 11) making each coding unit in each coding tree unit in the current coding frame traverse the inter-frame 2 Nx 2N mode under the condition that the depth value is not more than the maximum depth value of the coding tree unit to which the coding unit belongs, then calculating the difference value between the original pixel value and the predicted pixel value of each pixel point in each coding unit under the condition that the depth value is not more than the maximum depth value of the coding tree unit to which the coding unit belongs for each coding unit in each coding tree unit in the current coding frame, then judging whether the absolute value of the difference value corresponding to all the pixel points in each coding unit is less than the set threshold β and the motion vector of the coding unit is 0 under the condition that the depth value is d' for each coding unit in each coding tree unit in the current coding frame, and if so, making the coding unit in the current coding frame go through the inter-frame 2 Nx 2N modeSkipping all prediction modes behind the inter-frame 2 Nx 2N mode when the depth value d 'is skipped, skipping the traversal process when the depth value is larger than d', and then executing the step 15), otherwise, directly executing the step 12); wherein the depth value has a value range of
Figure FDA0001543490140000051
dmaxRepresenting a maximum depth value of a coding tree unit to which the coding unit belongs;
step 12): after the traversal process of each coding unit in each coding tree unit in the current coding frame under the condition that the depth value is not larger than the maximum depth value of the coding tree unit to which the coding unit belongs is completed, whether a bit corresponding to the optimal mode of the coding unit under the depth value d' is smaller than L or not is judged for each coding unit in each coding tree unit in the current coding framedIf it is less than LdThen the encoding unit skips the traversal process with depth value larger than d', and then executes step 15); if greater than or equal to LdThen, it is determined whether the bit corresponding to the optimal mode of the coding unit under the depth value d' is larger than HdAnd whether d' is greater than or equal to the maximum depth value of the coding tree unit to which the coding unit belongs, if so, the coding unit is subjected to a traversal process in which the depth value is greater than the maximum depth value of the coding tree unit to which the coding unit belongs, and then step 15) is executed, otherwise, step 15) is directly executed;
step 13): calculating the complexity distribution weight of each coding tree unit in the current coding frame, and recording the complexity distribution weight of the coding tree unit with the sequence number i in the current coding frame as omegai(ii) a Then step 14) is executed;
step 14), making each coding unit in each coding tree unit in the current coding frame traverse an inter-frame 2 Nx 2N mode under each depth value, then calculating the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding unit under each depth value for each coding unit in each coding tree unit in the current coding frame, then judging whether the absolute value of the difference value corresponding to all the pixel points in the coding unit is less than a set threshold value β and the motion vector of the coding unit is 0 under each depth value d ' for each coding unit in each coding tree unit in the current coding frame, if so, making the coding unit skip all the predicted modes behind the inter-frame 2 Nx 2N mode when the depth value d ' is reached, and skip the traversal process when the depth value is greater than d ', and then executing step 15), otherwise, executing step 15 after the traversal process under each depth value of each coding unit in each coding tree unit in the current coding frame is completed, wherein the value range of the depth value is [0,2 ];
step 15): taking the next frame to be processed in the video to be coded as a current coding frame, and then returning to the step 4) to continue execution until all coding frames in the video to be coded are processed; wherein, f is the assigned symbol, and f +1 is the assigned symbol.
2. A coding method with controllable coding complexity according to claim 1, wherein in step 9) and step 13), ω isiThe calculation process of (2) is as follows: traversing the inter-frame 2 Nx 2N mode when the depth value of the coding tree unit with the serial number i in the current coding frame is 0 to obtain the difference value between the original pixel value and the predicted pixel value of each pixel point in the coding tree unit with the serial number i in the current coding frame; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegaiA specific value of (a);
in the step 9), if a group of pictures preceding a group of pictures to which the current encoding frame belongs is a group of pictures 3 in the video to be encoded, ω is a group of picturespre,mThe calculation process of (2) is as follows: when the depth value of a coding tree unit with the sequence number of m in a kth frame coding frame in a 3 rd image group in a video to be coded is 0, traversing an inter-frame 2 Nx 2N mode to obtain a difference value between an original pixel value and a predicted pixel value of each pixel point in the coding tree unit; then calculating the average value of all the difference values; then accumulating all the difference values larger than the average value, and taking the obtained sum value as omegapre,mSpecific values of (a).
3. A coding complexity controlled coding method according to claim 1 or 2, characterized in that in step 11),
Figure FDA0001543490140000061
wherein QP represents an encoding quantization parameter of the video to be encoded.
CN201810020841.7A 2018-01-10 2018-01-10 Encoding method with controllable encoding complexity Active CN108322740B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810020841.7A CN108322740B (en) 2018-01-10 2018-01-10 Encoding method with controllable encoding complexity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810020841.7A CN108322740B (en) 2018-01-10 2018-01-10 Encoding method with controllable encoding complexity

Publications (2)

Publication Number Publication Date
CN108322740A CN108322740A (en) 2018-07-24
CN108322740B true CN108322740B (en) 2020-04-17

Family

ID=62894200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810020841.7A Active CN108322740B (en) 2018-01-10 2018-01-10 Encoding method with controllable encoding complexity

Country Status (1)

Country Link
CN (1) CN108322740B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510715B (en) * 2019-01-31 2022-03-01 上海哔哩哔哩科技有限公司 Video processing method, system, computer device and storage medium
CN113242426B (en) * 2021-04-06 2024-02-13 中南大学 Video encoding and decoding method, device and storage medium
CN113727102B (en) * 2021-11-01 2022-01-04 基石酷联微电子技术(北京)有限公司 Low-delay lossy image encoder and decoder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105120290A (en) * 2015-08-04 2015-12-02 宁波大学 Fast coding method for depth video
CN105120295A (en) * 2015-08-11 2015-12-02 北京航空航天大学 HEVC complexity control method based on quadtree coding segmentation
CN106412611A (en) * 2016-09-26 2017-02-15 宁波大学 Complexity control method of efficient video encoding
CN107105240A (en) * 2017-03-22 2017-08-29 中南大学 A kind of HEVC SCC complexity control methods and its system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105120290A (en) * 2015-08-04 2015-12-02 宁波大学 Fast coding method for depth video
CN105120295A (en) * 2015-08-11 2015-12-02 北京航空航天大学 HEVC complexity control method based on quadtree coding segmentation
CN106412611A (en) * 2016-09-26 2017-02-15 宁波大学 Complexity control method of efficient video encoding
CN107105240A (en) * 2017-03-22 2017-08-29 中南大学 A kind of HEVC SCC complexity control methods and its system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于相似度的HEVC帧内低复杂度编码;盛成凯等;《光电子。激光》;20150930;全文 *

Also Published As

Publication number Publication date
CN108322740A (en) 2018-07-24

Similar Documents

Publication Publication Date Title
JP7534039B2 (en) Video processing method, video processing device, and bitstream generation method
KR101603690B1 (en) Method and apparatus for video encoding with adjusting offsets based on pixel classification, method and apparatus for video decoding with adjusting offsets based on pixel classification
KR100995226B1 (en) Image encoding device, image decoding device, image encoding method, image decoding method, computer readable recording medium having image encoding program recorded therein, and computer readable recording medium having image decoding program recorded therein
US10075725B2 (en) Device and method for image encoding and decoding
EP3560199A1 (en) Low-complexity sign prediction for video coding
CN113557527B (en) Video decoding method, video decoder and medium
CN108200431B (en) Bit allocation method for video coding code rate control frame layer
US20130208793A1 (en) Motion video encoding apparatus, motion video encoding method, and motion video encoding computer program
CN108322740B (en) Encoding method with controllable encoding complexity
CN106412611B (en) A kind of complexity control method of efficient video coding
CN104601992B (en) SKIP mode quick selecting methods based on Bayesian Smallest Risk decision
CN104038769B (en) Rate control method for intra-frame coding
CN110351552B (en) Fast coding method in video coding
CN113196767B (en) Method, device and medium for coordinating raster scanning block group and rectangular block group
CN112106365B (en) Method and apparatus for adaptive context modeling in video encoding and decoding
CN107343199B (en) Rapid adaptive compensation method for sampling points in HEVC (high efficiency video coding)
CN110049339B (en) Prediction direction selection method and device in image coding and storage medium
CN112351279B (en) HEVC (high efficiency video coding) -oriented adaptive complexity adjustment system and method
CN110800298A (en) Code rate allocation method, code rate control method, encoder, and recording medium
CN117616751A (en) Video encoding and decoding of moving image group
KR20220088504A (en) Content Adaptive Segmentation Prediction
CN116325735A (en) Method and apparatus for adaptive reordering of reference frames
WO2024215368A1 (en) Systems and methods for window error estimation improvement in temporal filter
JP2016184844A (en) Image processing apparatus and method
CN118042158A (en) Image coding and decoding method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180724

Assignee: Zhejiang Yangji Technology Development Co.,Ltd.

Assignor: Ningbo University

Contract record no.: X2022980025286

Denomination of invention: A coding method with controllable coding complexity

Granted publication date: 20200417

License type: Common License

Record date: 20221207

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20230310

Address after: 509 Kangrui Times Square, Keyuan Business Building, 39 Huarong Road, Gaofeng Community, Dalang Street, Longhua District, Shenzhen City, Guangdong Province, 518110

Patentee after: Shenzhen lizhuan Technology Transfer Center Co.,Ltd.

Address before: 315211, Fenghua Road, Jiangbei District, Zhejiang, Ningbo 818

Patentee before: Ningbo University

Effective date of registration: 20230310

Address after: 3F, Unit 2 (Block B), Building 2 (Building 2, Jinyuan Times Business Center), Yard 2, Lanyinchang East Road, Haidian District, Beijing, 100097

Patentee after: BEIJING HONGDA YIJIA EDUCATION TECHNOLOGY Co.,Ltd.

Address before: 509 Kangrui Times Square, Keyuan Business Building, 39 Huarong Road, Gaofeng Community, Dalang Street, Longhua District, Shenzhen City, Guangdong Province, 518110

Patentee before: Shenzhen lizhuan Technology Transfer Center Co.,Ltd.

TR01 Transfer of patent right