CN110719490B - Video encoding method, apparatus, computer-readable storage medium, and computer device - Google Patents
Video encoding method, apparatus, computer-readable storage medium, and computer device Download PDFInfo
- Publication number
- CN110719490B CN110719490B CN201911005293.1A CN201911005293A CN110719490B CN 110719490 B CN110719490 B CN 110719490B CN 201911005293 A CN201911005293 A CN 201911005293A CN 110719490 B CN110719490 B CN 110719490B
- Authority
- CN
- China
- Prior art keywords
- coding
- unit
- pixel
- tree
- gradient
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000000638 solvent extraction Methods 0.000 claims description 27
- 230000002776 aggregation Effects 0.000 claims description 17
- 238000004220 aggregation Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005192 partition Methods 0.000 description 61
- 238000010586 diagram Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present application relates to a video encoding method, apparatus, computer readable storage medium and computer device, the method comprising: in the multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; performing multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks; acquiring respective pixel gradients of the plurality of coding units according to pixel values of pixels contained in the plurality of coding units; and when the difference between the pixel gradients of the plurality of coding units meets a set condition, coding is performed for the plurality of coding units in the coding block. The scheme provided by the application can improve the coding efficiency of video coding.
Description
Technical Field
The present application relates to the field of video processing technologies, and in particular, to a video encoding method, apparatus, computer readable storage medium, and computer device.
Background
With the development of video compression technology, predictive coding technology capable of efficiently compressing video has emerged. In the predictive Coding technology, each frame of image in a video is mainly divided into a plurality of Coding Tree Units (CTUs), and the Coding Tree units can be continuously divided into a plurality of Coding blocks. For each code block, quadtree partitioning is typically performed first. And then, traversing the rate distortion cost of multi-fork tree dividing modes such as binary tree dividing and three-fork tree dividing in sequence for each Coding Unit (CU) divided by the quadtree until a preferable dividing structure with smaller rate distortion cost is determined, and finally, carrying out predictive Coding on the Coding tree units dividing the Coding blocks based on the optimal dividing structure.
However, in the above encoding process, it is necessary to firstly perform predictive encoding on the encoding units divided according to a certain multi-tree dividing mode, predict the encoding values of the encoding units, then obtain a rate distortion cost by using the pixel values lost by the image obtained by decoding the encoding values of the encoding units relative to the actual image, finally determine whether the current multi-tree dividing mode is the preferred multi-tree dividing mode according to the rate distortion cost, and after determining the preferred multi-tree dividing mode, perform predictive encoding on the adjacent encoding blocks by using the encoding values obtained by performing predictive encoding on the current multi-tree dividing mode. Therefore, the process of calculating the rate distortion cost of the multi-tree division mode is very time-consuming, and the coding efficiency of video coding is seriously affected by the coding mode based on the rate distortion cost.
Therefore, the conventional encoding method has a problem of low encoding efficiency.
Disclosure of Invention
Accordingly, there is a need to provide a video encoding method, apparatus, computer-readable storage medium, and computer device, which address the problem of low encoding efficiency in the current encoding scheme.
A video encoding method, comprising:
in the multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; the target division mode is a binary tree division mode or a three-tree division mode;
performing multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
Acquiring respective pixel gradients of the plurality of coding units according to pixel values of pixels contained in the plurality of coding units;
and when the difference between the pixel gradients of the coding units meets a set condition, coding the coding units in the coding block to obtain a coding result of the coding block, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
A video encoding apparatus, comprising:
the mode selection module is used for further selecting a target division mode when the quadtree division mode is excluded from a plurality of multi-tree division modes; the target division mode is a binary tree division mode or a three-tree division mode;
The division module is used for carrying out multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
The gradient acquisition module is used for acquiring the pixel gradients of the plurality of coding units according to the pixel values of the pixels contained in the plurality of coding units;
And the coding module is used for coding the plurality of coding units in the coding block to obtain a coding result of the coding block when the difference between the pixel gradients of the plurality of coding units meets a set condition, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
A computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of:
in the multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; the target division mode is a binary tree division mode or a three-tree division mode;
performing multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
Acquiring respective pixel gradients of the plurality of coding units according to pixel values of pixels contained in the plurality of coding units;
and when the difference between the pixel gradients of the coding units meets a set condition, coding the coding units in the coding block to obtain a coding result of the coding block, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
A computer device comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to perform the steps of:
in the multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; the target division mode is a binary tree division mode or a three-tree division mode;
performing multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
Acquiring respective pixel gradients of the plurality of coding units according to pixel values of pixels contained in the plurality of coding units;
and when the difference between the pixel gradients of the coding units meets a set condition, coding the coding units in the coding block to obtain a coding result of the coding block, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
According to the video coding method, the video coding device, the computer readable storage medium and the computer equipment, the binary tree partition mode or the three-tree partition mode is selected as the target partition mode when the four-tree partition mode is eliminated, the target partition mode is adopted to divide the coding block into a plurality of coding units, then the pixel gradients of the coding units are obtained according to the pixel values of the pixels in the coding block, when the difference between the pixel gradients of the coding units meets the set condition, the current target partition mode is used for indicating that the rate distortion cost is smaller, the target partition mode can be the optimal multi-tree partition mode, therefore, the coding can be directly carried out on the coding units in the coding block, the additional calculation of the rate distortion cost is not needed, the current optimal multi-tree partition mode is judged based on the rate distortion cost, the calculation amount of the rate distortion cost is saved for the multi-tree partition mode in the whole coding process, and the coding efficiency of video coding is improved.
Drawings
FIG. 1 is a diagram of an application environment for a video encoding method in one embodiment;
FIG. 2 is a schematic diagram of a related art multi-tree partitioning process;
FIG. 3 is a flow chart of a video encoding method in one embodiment;
FIG. 4A is a schematic diagram of a video frame to be encoded divided into code blocks;
FIG. 4B is a diagram illustrating a multi-tree partitioning according to a three-tree partitioning scheme;
FIG. 4C is a schematic diagram of a multi-tree partitioning according to a binary tree partitioning scheme;
FIG. 5A is a schematic diagram of computing a global gradient based on intervals of coding unit partitions, according to one embodiment;
FIG. 5B is a schematic diagram of computing local gradients based on neighboring pixels of an encoding unit, according to one embodiment;
FIG. 6 is a schematic diagram of a partitioning binary tree cell intervals for one embodiment;
FIG. 7 is a flow diagram of a pre-decision multi-way tree partitioning scheme for one embodiment;
FIG. 8 is a flow diagram of a particular video encoding method of one embodiment;
FIG. 9 is a block diagram of a video encoding apparatus in one embodiment;
FIG. 10 is a block diagram of a computer device in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
Fig. 1 is an application environment diagram of a video encoding method in one embodiment. Referring to fig. 1, the video encoding method may be applied to a video processing system. The video processing system includes a terminal 110 and a server 120. The terminal 110 and the server 120 are connected through a network. The terminal 110 may be a desktop terminal or a mobile terminal, and the mobile terminal may be at least one of a mobile phone, a tablet computer, a notebook computer, and the like. The server 120 may be implemented as a stand-alone server or as a server cluster composed of a plurality of servers.
It should be noted that, the video coding method provided in this embodiment may be applied to an application scenario in which a video compression technology is required, for example, an application scenario in which video chat is performed between terminals through instant messaging software; as another example, a terminal or server needs to store an application scenario for a large amount of video. By the video coding method provided by the embodiment, the coding efficiency of video coding can be improved, and the compression speed of video can be accelerated.
It should be further noted that the predictive coding technique is a technique for implementing video compression by performing predictive coding on pixels by using the characteristic that there is correlation between pixels of an image frame in video. Predictive coding techniques typically involve both inter-prediction and intra-prediction.
Inter prediction mainly predicts the coded values of pixels using the correlation between successive image frames. Intra prediction is mainly to predict the coding value of a pixel by using the correlation between pixels adjacent to each other in a frame of an image. In the prediction coding scheme of intra prediction, in order to improve the coding efficiency of prediction coding, it is necessary to divide an image frame into a plurality of coding blocks and simultaneously code the plurality of coding blocks.
In order to further improve the coding efficiency of coding, a more complex partitioning method is adopted at present. For example, the video compression standard VVC (VERSATILE VIDEO CODING, multi-function video coding) that is currently popular adopts a complex and diverse Multiple-type Tree (MT) partitioning scheme. The multi-Tree dividing mode includes a Binary Tree dividing (BT) mode, a trigeminal Tree dividing (TRIPLE TREE, TT) mode, a quadtree dividing (QT) mode, and the like.
Fig. 2 shows a schematic diagram of a related art multi-tree partitioning flow. As shown in the figure, the coding block is first intra-frame predictive coded, and based on the result of the predictive coding, it is determined whether quad-tree division is required, and if not, it is further determined whether multi-tree division such as binary tree, trigeminal tree is required. When further division is needed, traversing the three-tree division mode in the horizontal direction, the three-tree division mode in the vertical direction, the binary tree division mode in the horizontal direction and the binary tree division mode in the vertical direction in sequence until the optimal division structure of the coding unit is obtained. In the traversal process, the partition structures of the binary tree partition modes in multiple directions and the trigeminal tree partition modes in multiple directions are required to be subjected to prediction coding, rate distortion cost and judgment, so that the calculated amount is large, and the coding efficiency of video coding is affected.
Aiming at the problem, the embodiment provides a video coding method which decides a multi-tree division mode for multi-tree division in advance, reduces the calculated amount of the video coding process, thereby improving the coding efficiency of video coding and accelerating the compression speed of video.
As shown in fig. 3, in one embodiment, a video encoding method is provided. The present embodiment is mainly exemplified by the application of the method to the terminal 110 in fig. 1. Referring to fig. 3, the video encoding method specifically includes the steps of:
S302, in multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; the target division mode is a binary tree division mode or a three-tree division mode.
The target division mode may be a multi-tree division mode currently used for multi-tree division. When multi-tree division is performed on a coding block, a quadtree division mode is generally adopted to divide the coding block into four equal coding units, intra-frame prediction coding is performed on the four coding units to obtain a coding value, rate distortion cost of the coding value is calculated, and when the rate distortion cost obtained in the quadtree division mode does not accord with a preset cost threshold value, the binary tree division mode and the trigeminal tree division mode are further traversed. In this implementation, it is not necessary to traverse the binary tree division mode or the trigeminal tree division mode, but only to select any one of the multiple tree division modes from the binary tree division mode and the trigeminal tree division mode. In practical application, the more coding units the coding block is divided into, the smaller the rate distortion cost is, so that the three-tree dividing mode can be preferentially selected as the target dividing mode. Of course, those skilled in the art may also prefer to use a binary tree partitioning pattern as the target partitioning pattern described above.
In a specific implementation, when it is determined that the rate distortion cost of the quadtree partitioning mode does not meet the preset cost threshold, any one mode among the binary tree partitioning mode and the trigeminal tree partitioning mode is further selected as the target partitioning mode, so that subsequent multi-tree partitioning is performed.
S304, performing multi-tree division on the coding blocks in the video frames to be coded according to the multi-tree division mode to obtain a plurality of coding units of the coding blocks.
The video frame to be encoded may be one or more frames of images to be predictive encoded in the video.
The coding block may be an image obtained by dividing a video frame to be coded.
In a specific implementation, when the binary tree partition mode is selected as the target partition mode, the coding block may be divided into at least two equal coding units. When the three-tree partition mode is selected as the target partition mode, the coding block may be divided into at least three coding units.
Fig. 4A shows a schematic diagram of a coding block. The video frame to be encoded 402 may be divided into a plurality of encoded blocks 404 of the same size. Fig. 4B and 4C are schematic diagrams of multi-tree partitioning of an encoded block according to a three-tree partitioning mode and a two-tree partitioning mode, respectively. As shown in fig. 4B, assuming that the division direction is the vertical direction, the three-tree division mode divides the coding block into three coding units arranged in the horizontal direction within the coding block, and the three coding units occupy a ratio of 1:2:1. As shown in fig. 4C, assuming that the division direction is the vertical direction, the binary tree division mode divides the code block into two code units arranged in the horizontal direction within the code block, and the two code units occupy a ratio of 1:1.
In practical applications, a horizontal direction or a vertical direction may be selected as the dividing direction, and the specific dividing direction is not limited in this embodiment.
S306, acquiring the pixel gradients of the plurality of coding units according to the pixel values of the pixels contained in the plurality of coding units.
Wherein the pixel gradient may reflect the intensity of the change in pixel value in a particular direction between at least two pixels.
In a specific implementation, the terminal 110 may first obtain a pixel value of each pixel in the coding unit, and then calculate, according to the pixel value of each pixel, a pixel gradient of each pixel in each coding unit in a specific direction. There are various ways of calculating the pixel gradient of the coding unit.
In one way of calculating the pixel gradient, the global gradient of the coding unit in the specific direction may be calculated as the pixel gradient according to the pixel value of each pixel. Specifically, one direction may be first selected from a plurality of directions as a target direction, and the encoding unit may be divided into at least two sections according to the target direction such that the at least two sections are arranged according to the target direction within the encoding unit. Then, the pixel values of the pixels included in each section are aggregated to obtain a pixel aggregation value for the section. And finally, obtaining the global gradient of the coding unit in the target direction according to the difference value of the pixel aggregation values of each interval.
FIG. 5A is a schematic diagram of computing a global gradient based on intervals of coding unit partitions, according to one embodiment. As shown in the figure, two sections arranged in the horizontal direction may be equally divided in the encoding unit, and pixel values of pixels included in the two sections may be aggregated to obtain a pixel aggregation value for the section. And finally, obtaining the global gradient of the coding unit in the horizontal direction according to the difference value of the pixel aggregation values of each interval.
In another way of calculating the pixel gradient, a local gradient of the coding unit in a specific direction may be calculated according to the pixel value of each pixel as the pixel gradient. Specifically, one direction may be selected from multiple directions as a target direction, and adjacent pixel groups formed by at least two pixels adjacent to each other in the target direction in the coding unit are obtained, and according to differences between pixel values of pixels included in the adjacent pixel groups, pixel group differences of a group of adjacent pixel groups are obtained, and cumulative summation is performed on the pixel group differences of multiple groups of adjacent pixel groups, so as to obtain a local gradient of the coding unit in the target direction.
FIG. 5B is a schematic diagram of computing local gradients based on neighboring pixels of a coding unit, according to one embodiment. As shown in the figure, two pixels adjacent in the horizontal direction can be found in the encoding unit, constituting an adjacent pixel group. And obtaining a pixel group difference value of a group of adjacent pixel groups according to the difference value between the pixel values of the two adjacent pixels. And finally, carrying out accumulated summation on pixel group differences of a plurality of groups of adjacent pixel groups in the coding unit to obtain the local gradient of the coding unit in the horizontal direction.
Of course, those skilled in the art may calculate the pixel gradient of the divided encoding unit in the specific direction in other various manners according to actual needs, and the specific calculation manner of the pixel gradient is not limited in this embodiment.
And S308, when the difference between the pixel gradients of the coding units meets a set condition, coding the coding units in the coding block to obtain a coding result of the coding block, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
In a specific implementation, the terminal 110 may compare the pixel gradients of each of the plurality of coding units to obtain a difference between the pixel gradients of each of the coding units, determine whether the difference meets a set condition, and determine that the target division mode is an optimal multi-tree division mode when determining that the difference between the pixel gradients of each of the coding units meets the set condition, and perform intra-frame prediction coding on the plurality of coding units obtained by dividing by using the target division mode.
In practical applications, a person skilled in the art can adopt various setting conditions according to practical needs to determine whether to code the currently divided coding units.
For example, for the two encoding units of the binary tree first encoding unit and the binary tree second encoding unit divided in the binary tree division mode, when judging whether or not the set condition is satisfied, a difference between the pixel gradients of the two encoding units may be calculated as a difference between the pixel gradients of the two encoding units. And comparing the difference value with a preset difference threshold value, and judging that the difference between the pixel gradients of the coding units meets the set condition when the difference value is larger than the difference threshold value.
For another example, for the three encoding units of the first encoding unit, the second encoding unit and the third encoding unit of the trigeminal tree, which are divided by the three-tree dividing mode, when judging whether the set condition is met, a first unit gradient ratio between the pixel gradients of the first encoding unit and the second encoding unit of the trigeminal tree, and a second unit gradient ratio between the pixel gradients of the second encoding unit and the third encoding unit of the trigeminal tree can be calculated, and the first unit gradient ratio and the second unit gradient ratio are used as differences between the pixel gradients of the three encoding units. And then, comparing the first unit gradient ratio and the second unit gradient ratio with a preset difference threshold respectively, and judging that the difference between the pixel gradients of the coding units meets the set condition when the first unit gradient ratio and the second unit gradient ratio are both larger than the difference threshold.
After the multi-tree partition mode with the optimal target partition mode is determined, intra-frame prediction coding can be performed on a plurality of coding units obtained by partitioning the target partition mode, and after the intra-frame prediction coding is performed to obtain the coding result of the coding block, intra-frame prediction coding can be performed on adjacent coding blocks by directly utilizing the coding result without continuously traversing other multi-tree partition modes.
The intra-frame prediction encoding is based on the characteristic that adjacent pixels in the same frame of video have correlation. For example, the pixel values of chromaticity, gray scale, luminance, etc. of adjacent pixels in a frame of video are typically graded with less occurrence of large variations. That is, there is a correlation between adjacent pixels. With the correlation between pixels, after the pixel value of one pixel is obtained, the pixel value of the adjacent pixel can be predicted. In order to improve the encoding efficiency, it is necessary to divide the video frame into a plurality of encoding units by means of multi-tree division to perform encoding at the same time. In order to obtain a lower rate-distortion cost, it is desirable to divide pixels having a large difference in the degree of change of the pixel values into different coding units, that is, to make the divided coding units have a large difference in the degree of change of the pixel values.
If the divided multiple coding units have larger difference in the change degree of the pixel values, namely the difference between the pixel gradients of the coding units is larger, the method shows that the rate distortion cost is smaller and the coding quality is better after the multiple coding units are divided by adopting a multi-tree division mode to carry out intra-frame prediction coding.
If the difference between the divided multiple coding units in the pixel value change degree is smaller, namely the difference between the pixel gradients of the coding units is smaller, the method indicates that the current multi-tree division mode is adopted to divide the multiple coding units, and the rate distortion cost is larger and the coding quality is poorer after the intra-frame prediction coding is carried out on the coding units. At this time, other multi-tree partitioning modes need to be tried, or further partitioning into multiple coding units is not necessary.
The embodiment provides a new video coding method, which utilizes the characteristic that the difference between the respective pixel gradients of the coding units and the final coding quality are associated, and decides in advance to perform a binary tree division mode or a trigeminal tree division mode based on the respective pixel gradients of the coding units, so that larger calculation amount such as calculating rate distortion cost for the binary tree division mode and the trigeminal tree division mode in the related technology is not needed, and the coding efficiency of video coding is improved.
In the video coding method, the binary tree partition mode or the three-tree partition mode is selected as the target partition mode when the four-tree partition mode is eliminated, the target partition mode is adopted to divide the coding block into a plurality of coding units, then the pixel gradient of each coding unit is obtained according to the pixel value of each pixel in the coding block, when the difference between the pixel gradients of each coding unit meets the set condition, the current target partition mode is adopted, the rate distortion cost is smaller, the target partition mode can be the optimal multi-tree partition mode, thus coding can be directly carried out for the plurality of coding units in the coding block, the additional calculation of the rate distortion cost is not needed after coding, the current optimal multi-tree partition mode is judged based on the rate distortion cost, the calculation amount of the rate distortion cost for the multi-tree partition mode is saved in the whole coding process, and the coding efficiency of video coding is improved.
In one embodiment, the pixel gradient includes a global gradient, and the step S306 includes:
dividing the coding units to obtain a plurality of unit intervals; and obtaining the global gradient of the coding unit according to the pixel values of the pixels contained in each of the plurality of unit intervals.
The cell sections may be sections arranged in a specific direction in the encoding unit.
The global gradient may be a pixel gradient between intervals arranged in a specific direction in the encoding unit.
In a specific implementation, the terminal 110 may further divide the coding unit into a plurality of unit sections according to the same direction as the division direction of the multi-tree division of the coding block. For example, the coding block is binary tree-divided into two binary tree coding units in the horizontal direction, and each binary tree coding unit is further divided into two equal unit sections in the horizontal direction.
Then, for the divided unit sections, a global gradient of the encoding unit is obtained from pixel values of pixels included in each unit section.
For example, the average value of the pixel values of the pixels included in the two unit sections is calculated as the respective section pixel aggregation value of the two unit sections, and the difference value between the section pixel aggregation values of the two unit sections is calculated to obtain the global gradient of the encoding unit.
In the video coding method, the coding unit is divided into the plurality of unit intervals, and the global gradient capable of reflecting the macroscopic variation trend of each pixel in the coding unit is calculated according to the pixel values of the pixels contained in the plurality of unit intervals, so that the pixel gradient of the coding unit can be calculated rapidly due to less calculation amount required as the pixel gradient of the coding unit, and the coding efficiency of video coding is further improved.
In one embodiment, the obtaining the pixel gradient of the coding unit according to the pixel values of the pixels included in each of the plurality of unit intervals includes:
calculating the average value of the pixel values of all the pixels in the coding block to obtain the average value of the pixels of the coding block; calculating the difference value between the pixel value of the pixel contained in the unit interval and the pixel mean value of the coding block, and summing the difference value between the pixel value of each pixel in the unit interval and the pixel mean value of the coding block to obtain an interval pixel aggregation value; and calculating the difference value between the interval pixel aggregation values of the plurality of unit intervals to obtain the global gradient.
In a specific implementation, when dividing the coding unit into a plurality of unit sections, the coding unit may be divided into a plurality of unit sections. When calculating the global gradient, the average value of the pixel values of each pixel in the coding block can be calculated first, so as to obtain the above-mentioned coding block pixel average value. Then, respectively aiming at each unit interval, calculating the difference value between the pixel value of each pixel in each unit interval and the pixel average value of the coding block, and summing the difference value between the pixel value of each pixel in each unit interval and the pixel average value of the coding block to obtain the interval pixel aggregation value of each unit interval.
For example, there are N pixels in the interval, and the difference between the pixel values of the N pixels and the pixel mean of the coding block is calculated to obtain N differences. And summing the N differences to obtain the interval pixel aggregation value of the unit interval.
Finally, the difference between the interval pixel aggregation values of each unit is calculated and used as the global gradient of the coding unit.
In practical applications, the global gradient (GlobalGradient) in the coding unit in different directions, horizontal, vertical, etc., can be calculated by the following formula:
Where abs represents a function for solving an absolute value of an integer, and p represents a pixel value of a pixel; i and j represent the position indexes of columns and rows where the respective pixels are located in the matrix of the coding block; p ij represents the pixel value of the pixel at a certain position; p avg represents the average value of the pixels of the coding block; n represents the number of pixels contained in each column or each row of the encoded block.
When the global gradient of the coding unit in the specific direction is calculated by adopting the formula, the coding unit is divided into a first section and a second section according to the horizontal direction, wherein the first section comprises all pixels from 0 th column to N-1 th column and from 0 th row to (N/2-1), and the second section comprises all pixels from 0 to N-1 column and from N/2 to (N-1). Firstly, a pixel value p ij of a certain pixel in the ith column and the jth row can be determined, a difference value between the pixel value p ij and a pixel mean value p avg of the coding block is calculated, the difference values between each pixel in the section and the pixel mean value of the coding block are traversed and summed to obtain a section pixel aggregation value of the section, and the difference value is calculated and the absolute value is calculated for the section pixel aggregation values of the two sections, so that the global gradient GlobalGradient can be obtained. The calculation process for calculating the global gradient in the vertical direction is similar to the calculation process for the horizontal direction described above, and will not be repeated here.
In one embodiment, the pixel gradient includes a local gradient, and the step S306 includes:
acquiring an adjacent pixel group formed by a plurality of adjacent pixels in the coding unit; and obtaining the local gradient of the coding unit according to the pixel values of the pixels contained in each adjacent pixel group in the coding unit.
Wherein the local gradient may be a pixel gradient between at least two pixels adjacent in a particular direction.
In a specific implementation, the terminal 110 may select at least two adjacent pixels as a set of adjacent pixel groups in the encoding unit. From the pixel values of the pixels comprised in the group of adjacent pixels, a local gradient of the coding unit can be obtained.
For example, for at least two adjacent pixels in the coding unit, a set of adjacent pixel groups is formed. In one coding unit, N groups of adjacent pixel groups can be obtained. For each group of adjacent pixel groups, calculating the difference value between the pixel values of each pixel in the adjacent pixel groups, and cumulatively summing the N difference values to obtain the local gradient of the coding unit.
In the video coding method, the adjacent pixel groups formed by the adjacent pixels are obtained in the coding unit, and the local gradient of the coding unit is calculated according to the pixel values of the pixels contained in the adjacent pixel groups.
In one embodiment, the encoding unit includes N adjacent pixel groups, and the obtaining the pixel gradient of the encoding unit according to the pixel values of the pixels included in each of the adjacent pixel groups in the encoding unit includes:
Respectively calculating the difference value between the pixel values of each pixel in N adjacent pixel groups to obtain the adjacent pixel differences of the N adjacent pixel groups; and accumulating and calculating the sum of adjacent pixel differences of N adjacent pixel groups to obtain the local gradient.
In a specific implementation, at least two adjacent pixels in the specific direction in the coding unit can be selected to form a group of adjacent pixel groups, and for a plurality of pixels in the coding unit, N groups of adjacent pixel values can be obtained. When calculating the local gradient, the difference value of the pixel values of the pixels in each group of adjacent pixel groups can be calculated for N groups of adjacent pixel groups, respectively, to obtain the pixel value difference value.
For the case that more than three pixels which are adjacent in sequence in the coding unit are selected to form adjacent pixel groups, the difference values can be calculated for each pixel in the adjacent pixel groups respectively to obtain a plurality of difference values, the difference values are averaged to obtain a pixel group difference value of each group of adjacent pixel groups, or the maximum value in the plurality of difference values is selected to obtain a pixel group difference value of each group of adjacent pixel groups.
For N groups of adjacent pixel groups, N pixel group differences may be obtained. And carrying out accumulated summation on the difference values of the N pixel groups to obtain the local gradient of the coding unit.
In practical applications, the local gradient (LocalGradient) of the coding unit in the coding block in the horizontal, vertical, etc. directions can be calculated by the following formula:
wherein Width is the Width of the coding block, i.e. the number of pixels contained in each row of the coding block, and Height is the Height of the coding block, i.e. the number of pixels contained in each column of the coding block; abs represents a function for solving the absolute value of an integer; p represents the pixel value of the pixel; i and j represent the position indexes of columns and rows where the respective pixels are located in the matrix of the coding block; p ij represents the pixel value of the pixel at a certain position.
When the above formula is adopted to calculate the local gradient of the coding unit in the specific direction, the pixel values p i+1,j and p i,j of any two pixels adjacent in the horizontal direction are selected for the local gradient in the horizontal direction, and the difference value of the pixel values of the two adjacent pixels is calculated. Traversing all pixels adjacent in the horizontal direction in the range of the Width of the coding block and the Height of the coding block, calculating the difference value, accumulating and summing all the obtained difference values, and calculating the absolute value of the value obtained by accumulating and summing, thus obtaining the local gradient LocalGradient. The calculation process for calculating the local gradient in the vertical direction is similar to the calculation process in the horizontal direction described above, and will not be repeated here.
In one embodiment, the step S304 includes:
Performing multi-tree division on the coding block according to the three-tree division mode to obtain a three-tree coding unit of the coding block; the three-fork tree coding unit comprises a three-fork tree first coding unit, a three-fork tree second coding unit and a three-fork tree third coding unit;
the step S308 includes:
calculating the ratio between the first coding unit of the three-way tree and the second coding unit of the three-way tree to obtain a first unit gradient ratio, and calculating the ratio between the second coding unit of the three-way tree and the third coding unit of the three-way tree to obtain a second unit gradient ratio;
And when the first unit gradient ratio and the second unit gradient ratio are both larger than a preset first difference threshold, carrying out intra-frame predictive coding on the trigeminal coding unit.
The three-tree coding units are coding units divided by adopting three-tree dividing modes.
In a specific implementation, the three-tree division mode can be preferentially adopted as the target division mode, and three-tree division is performed on the coding block to obtain a three-tree first coding unit, a three-tree second coding unit and a three-tree third coding unit. Referring to fig. 4B, a trigeminal first encoding unit 406, a trigeminal second encoding unit 408, and a trigeminal third encoding unit 4010 are sequentially provided from left to right. The first coding unit of the three-fork tree is adjacent to the second coding unit of the three-fork tree, and the second coding unit of the three-fork tree is adjacent to the third coding unit of the three-fork tree.
When judging whether the pixel gradient of the coding unit meets the set condition, the ratio between the first coding unit of the three-fork tree and the second coding unit of the three-fork tree can be calculated to obtain a first unit gradient ratio, and in addition, the ratio between the second coding unit of the three-fork tree and the third coding unit of the three-fork tree can be calculated to obtain a second unit gradient ratio. And then, comparing the first unit gradient ratio and the second unit gradient ratio with a preset first difference threshold value respectively, and determining that the three-tree dividing mode is the optimal multi-tree dividing mode when the first unit gradient ratio and the second unit gradient ratio are both larger than the first difference threshold value, so that intra-frame prediction encoding can be carried out on the three-tree first encoding unit, the three-tree second encoding unit and the three-tree third encoding unit.
When the coding block is divided into coding units, the more the coding units are divided, the more accurately the pixels with smaller difference can be divided into the same coding unit, and the smaller the rate distortion cost of the intra-frame prediction coding is, the better the coding quality is. Under the condition that differences between pixel gradients of the coding units divided by the binary tree dividing mode and the trigeminal tree dividing mode meet set conditions, the trigeminal tree dividing mode is optimized, so that the coding quality is better. Therefore, the partition effect of the three-tree partition mode can be preferentially judged, and the binary tree partition mode is considered when the partition effect of the three-tree partition mode does not accord with the set condition.
In the video coding method, the coding block is divided into the plurality of three-tree coding units by selecting the three-tree dividing mode, and when the ratio of the pixel gradients of each three-tree coding unit is larger than the first difference threshold value, intra-frame prediction coding is carried out on each three-tree coding unit. In addition, the embodiment calculates the ratio between the pixel gradients of the three trigeminal tree coding units respectively to obtain a first unit gradient ratio and a second unit gradient ratio, and triggers the intra-frame prediction coding of each trigeminal tree coding unit under the condition that the first unit gradient ratio and the second unit gradient ratio are both larger than a first difference threshold value, so that the situation that the difference between the pixel gradients of each coding unit is wrongly judged to be in accordance with a set condition is avoided.
In one embodiment, when the first unit gradient ratio and/or the second unit gradient ratio is less than the first variance threshold, the method further comprises:
Performing multi-tree division on the coding block according to the binary tree division mode to obtain a binary tree coding unit of the coding block; dividing the binary tree coding units to obtain a plurality of binary tree unit intervals; acquiring interval gradient ratio values among a plurality of binary tree unit intervals; and when the interval gradient ratios are smaller than a preset second difference threshold value, intra-frame prediction coding is carried out on the binary tree coding units in the coding blocks.
In a specific implementation, when the three-tree division mode is adopted to divide multiple tree, when at least one of the obtained first unit gradient ratio and the second unit gradient ratio is smaller than the first difference threshold, the binary tree division mode can be further adopted to divide the binary tree of the coding block, so as to obtain the binary tree coding unit of the coding block.
It should be noted that, when at least one of the first unit gradient ratio and the second unit gradient ratio is smaller than the first difference threshold, it indicates that the coding quality of video coding cannot be guaranteed by adopting the way of dividing by the trigeminal tree dividing mode, so that the binary tree dividing mode can be further selected for dividing.
After the binary tree coding unit of the coding block is obtained, the binary tree coding unit may be further divided into a plurality of binary tree unit intervals. And then calculating the pixel gradient of each binary tree unit interval according to the pixel value of each pixel in the coding block, and calculating the ratio of the pixel gradient of each binary tree unit interval to obtain a plurality of interval gradient ratios.
And comparing the interval gradient ratios with a preset second difference threshold value respectively, and performing intra-frame prediction coding on a binary tree coding unit of the coding block when the interval gradient ratios are smaller than the second difference threshold value.
For example, the binary tree coding unit is divided into two binary tree unit intervals, and then the ratio of the pixel gradients of the two binary tree unit intervals is calculated as the interval gradient ratio. For another example, the binary tree coding unit is divided into more than three binary tree unit intervals, and then the ratio of the pixel gradients of the plurality of binary tree unit intervals can be calculated respectively to obtain a plurality of ratios, and the plurality of ratios are averaged or the largest ratio is selected as the interval gradient ratio.
In order to obtain a low rate distortion cost, in the ideal division result, pixels having a large difference in the degree of change of the pixel values need to be divided into different coding units, and pixels having a small difference in the degree of change of the pixel values need to be divided into the same coding units. When the gradient ratios of the intervals are smaller than the second difference threshold value, the fact that each coding unit has smaller difference in the change degree of the pixel value in the divided coding units is indicated, and therefore rate distortion cost after intra-frame prediction coding is conducted on the binary tree coding units divided in the binary tree division mode is lower, and coding quality is better.
It should be further noted that, when at least one of the first unit gradient ratio and the second unit gradient ratio is smaller than the first difference threshold, the possibility that the three-tree partition mode is the optimal multi-tree partition mode may be excluded, but the binary tree partition mode cannot be excluded at this time. Meanwhile, when at least one of the first unit gradient ratio and the second unit gradient ratio is smaller than a first difference threshold, the probability that the difference between the pixel gradients of the binary tree coding units divided by adopting the binary tree division mode accords with the set condition is low. Therefore, it is possible to judge whether or not to exclude the binary tree division pattern as the possibility of the optimal multi-tree division pattern according to the magnitude of the degree of variation of the pixels inside the binary tree coding unit.
In the video coding method, when the first unit gradient ratio and/or the second unit gradient ratio are/is smaller than the first difference threshold, the binary tree division mode can be adopted to divide the coding block into the binary tree coding units, the binary tree coding units are further divided into a plurality of binary tree unit intervals, the interval gradient ratio among the plurality of binary tree unit intervals is obtained, and when the interval gradient ratio among the plurality of binary tree unit intervals is smaller than the preset second difference threshold, intra-frame predictive coding can be directly carried out on the plurality of binary tree coding units in the coding block, therefore, after the three-fork tree division mode is eliminated, the optimal multi-fork tree division mode of the binary tree division mode can be determined, the large calculation amount such as intra-frame predictive coding and calculating rate distortion cost for the binary tree division mode is saved, and the coding quality of video coding can be ensured while the coding efficiency of video coding is improved.
In one embodiment, the dividing the binary tree coding unit to obtain a plurality of binary tree unit intervals includes:
the binary tree coding unit is divided into a first binary tree unit interval and a second binary tree unit interval in an equal ratio mode;
the obtaining the interval gradient ratio among the binary tree unit intervals comprises the following steps:
Acquiring respective pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit according to pixel values of pixels in the coding block; calculating the ratio between the pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit to obtain the interval gradient ratio.
In a specific implementation, the binary tree coding unit may be equally divided into a first interval of binary tree units and a second interval of binary tree units. And then, according to the pixel values of all pixels in the coding block, calculating to obtain the respective pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit, and calculating the ratio between the respective pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit to obtain the interval gradient ratio.
Referring to fig. 4C, binary tree first encoding unit 412 and binary tree second encoding unit 414 are shown in sequence from left to right.
Fig. 6 is a schematic diagram of partitioning binary tree coding units into binary tree unit intervals for one embodiment. The first binary tree coding unit 412 and the second binary tree coding unit 414 are partitioned to obtain a first section 4121 and a second section 4122 of the first binary tree coding unit 412 and to obtain a first section 4141 and a second section 4142 of the second binary tree coding unit 414, respectively. Calculating the ratio of the pixel gradients of the first section 4121 and the second section 4122 of the binary tree first coding unit 412 to obtain a first section gradient ratio; the ratio of the pixel gradients of the first section 4141 and the second section 4142 of the binary tree second encoding unit 414 is calculated to obtain a second section gradient ratio. Finally, when the first interval gradient ratio and the second interval gradient ratio are both smaller than the preset second difference threshold, intra-frame predictive coding is performed for the binary tree first coding unit 412 and the binary tree second coding unit 414.
In practical application, the following ideas can be adopted to compile the realization codes of the multi-tree division mode decision process:
Assuming that the current division direction is a vertical direction, first, a three-tree division mode is adopted to vertically divide the coding block into three coding units, and the three coding units are arranged in a horizontal direction. Pixel gradients of the three encoding units in the horizontal direction, that is, pixel gradients of the first encoding unit 406, the second encoding unit 408, and the third encoding unit 4010 in fig. 4B are respectively calculated, and are respectively labeled as gradient_hor_tt0, gradient_hor_tt1, and gradient_hor_tt2.
Then, the ratio between the gradient_hor_tt0 and gradient_hor_tt1 and the ratio between the gradient_hor_tt1 and gradient_hor_tt2 are calculated.
Next, it is determined whether the ratio between the gradient_hor_tt0 and the gradient_hor_tt1 is greater than the first difference threshold thr1, and whether the ratio between the gradient_hor_tt1 and the gradient_hor_tt2 is greater than the first difference threshold thr1. If both the two judgment results indicate that the two judgment results are greater than the first difference threshold thr1, the three-tree partition mode is marked as 1, that is, the three-tree coding units partitioned by the three-tree partition mode can be adopted for intra-frame prediction coding in the follow-up.
If there is a judgment result smaller than the first difference threshold thr1, the flag is 0 for the trigeminal tree division mode, that is, intra-prediction encoding is performed by excluding the trigeminal tree encoding units divided by the trigeminal tree division mode, and the encoding block is further divided vertically into two encoding units by the binary tree division mode, the two encoding units being arranged in the horizontal direction, that is, the binary tree first encoding unit 412 and the binary tree second encoding unit 414 in fig. 6. Then, the binary tree first encoding unit 412 and the binary tree second encoding unit 414 are equally divided into two sections, i.e., a first section 4121 and a second section 4122 of the binary tree first encoding unit 412 and a first section 4141 and a second section 4142 of the binary tree second encoding unit 414 in fig. 6, respectively. Pixel gradients of respective sections, such as the first section 4121 and the second section 4122 of the binary tree first encoding unit 412, the first section 4141 and the second section 4142 of the binary tree second encoding unit 414, are calculated and marked as gradient_hor_bt0_0, gradient_hor_bt0_1, gradient_hor_bt1_0, and gradient_hor_bt1_1, respectively. Then, the ratio of the pixel gradients for the two sections within the same coding unit, i.e., the ratio of gradient_hor_bt0_0, gradient_hor_bt0_1, and the ratio of gradient_hor_bt1_0 and gradient_hor_bt1_1, are calculated.
Next, it is determined whether the ratio of the gradient_hor_bt0_0 to the gradient_hor_bt0_1 is greater than the second difference threshold thr2, and whether the ratio of the gradient_hor_bt1_0 to the gradient_hor_bt1_1 is greater than the second difference threshold thr2.
If both the two judgment results indicate that the two judgment results are larger than the second difference threshold thr2, the three-tree partition mode is marked as1, namely, the binary tree coding units partitioned by the binary tree partition mode can be adopted for intra-frame prediction coding subsequently. If the judgment result smaller than the second difference threshold thr2 exists, the binary tree division mode is marked as 0, namely, the binary tree coding units divided by the binary tree division mode are excluded from carrying out intra-frame prediction coding, which means that the coding block can directly carry out intra-frame prediction coding on the whole coding block without further carrying out binary tree division or three-tree division.
Since the multi-tree division mode decision process with the division direction being the horizontal direction is similar to the above process, the description thereof will be omitted.
In one embodiment, further comprising:
acquiring the width and the height of the coding block; calculating the ratio of the width of the coding block to the height of the coding block, and determining the first difference threshold according to the ratio of the width of the coding block to the height of the coding block; and comparing the unit gradient ratio with the first difference threshold, and obtaining the second difference threshold according to a comparison result.
In a specific implementation, in order to accurately determine whether the difference between the pixel gradients of each encoding unit meets the set condition, the first difference threshold and the second difference threshold may be calculated according to the encoding block width and the encoding block height of the encoding block. More specifically, a ratio of the code block width to the code block height may be calculated and the first difference threshold determined from the ratio prior to comparing the cell gradient ratio to the first difference threshold. Then, before comparing the interval gradient ratio with the second difference threshold, the second difference threshold is determined according to the comparison result of the unit gradient ratio and the first difference threshold.
In the video coding method, the first difference threshold is calculated according to the width of the coding block and the height of the coding block, and then the second difference threshold is further determined according to the first difference threshold, so that the multi-way tree division mode is more accurately decided, and the coding quality of video coding is improved.
In one embodiment, the obtaining the second difference threshold according to the comparison result includes:
When the unit gradient ratio is greater than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the width of the coding block;
And when the unit gradient ratio is smaller than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the height of the coding block.
In a specific implementation, when the unit gradient ratio is greater than the first difference threshold, a sum of squares between the width of the encoded block and the height of the encoded block may be calculated, and then a ratio of the sum of squares to the width of the encoded block is calculated as the second difference threshold. When the unit gradient ratio is smaller than the first difference threshold, a sum of squares between the width of the encoded block and the height of the encoded block may be calculated, and then a ratio of the sum of squares to the height of the encoded block is calculated as the second difference threshold. Thus, a second variance threshold is determined based on the comparison of the cell gradient ratio to the first variance threshold.
In the video coding method, after the first difference threshold is obtained, the second difference threshold is obtained according to different comparison results of the unit gradient ratio and the first difference threshold, and the second difference threshold is obtained more accurately, so that the multi-tree division mode is decided more accurately, and the coding quality of video coding is improved.
In practical applications, the Width ratio between the code block Width and the code block Height may be calculated, or the Height-Width ratio between the code block Height and the code block Width may be calculated. The first difference threshold may be assigned to an aspect ratio or aspect ratio when the aspect ratio or aspect ratio is greater than a certain preset threshold. When the unit gradient ratio is greater than the first difference threshold, the square values of the Height of the coding block and the Width of the coding block can be calculated and summed, and the value obtained by dividing the sum by the Width of the coding block is used as the second difference threshold. When the unit gradient ratio is smaller than the first difference threshold, the square values of the encoding block Height and the encoding block Width can be calculated and summed, and the value obtained by dividing the sum by the encoding block Height is used as the second difference threshold.
In one embodiment, the step S304 includes:
Selecting a target division direction from the plurality of candidate division directions; dividing the coding block into a plurality of coding units arranged in the coding block according to the target division direction according to the target division mode;
The method further comprises the steps of:
When the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction meets a set condition, executing the step of coding for the plurality of coding units arranged according to the target division direction;
returning to the step of selecting the target division direction from among the plurality of candidate division directions when the difference between the pixel gradients of each of the plurality of encoding units arranged in the target division direction does not meet a set condition;
And when the coding result of the coding block cannot be obtained after traversing a plurality of candidate dividing directions, selecting another multi-tree dividing mode as a new target dividing mode, and returning to the step of multi-tree dividing the coding block in the video frame to be coded according to the target dividing mode to obtain a plurality of coding units of the coding block.
In a specific implementation, the target division direction may be selected from a plurality of candidate division directions, for example, a vertical division direction or a horizontal division direction may be selected as the target division direction. And then, carrying out binary tree division or three-tree division on the coding blocks according to the target division direction to obtain a plurality of coding units arranged according to the target division direction.
Then, the pixel gradient of each of the plurality of coding units arranged in the target division direction is acquired from the pixel values of the pixels included in the plurality of coding units arranged in the target division direction. When the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction does not meet the set condition, another direction can be selected from the plurality of candidate division directions as an updated target division direction, the coding block is divided into the plurality of coding units arranged according to the updated target division direction according to the target division mode again, and whether the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction meets the set condition is judged again.
When the difference between the pixel gradients of the plurality of encoding units still does not meet the set condition after traversing the plurality of candidate division directions, that is, the encoding result of the encoding block cannot be obtained through the current target division mode after traversing the plurality of candidate division directions, another multi-tree division mode can be selected as the updated target division mode, and the step S304 is returned to.
In the video coding method, the division directions of the coding result obtained according to the target division mode are obtained by traversing different division directions, so that the problem that the optimal multi-tree division mode is wrongly eliminated due to the fact that the current multi-tree division mode is eliminated when the difference between coding units divided according to the single division direction does not meet the set condition is avoided, the optimal multi-tree division mode can be obtained to obtain the better coding result, and the coding quality of video coding is improved.
In order to facilitate understanding of embodiments of the application by those skilled in the art, specific examples will be described below with reference to the accompanying drawings.
Fig. 7 is a schematic flow chart of a decision-making multi-tree partition mode in advance, and as shown in the drawing, compared with the related art in fig. 2, which needs to traverse various multi-tree partition modes, the video coding method provided in this embodiment does not need to traverse various multi-tree partition modes, but only needs to decide out a binary tree partition mode or a three-tree partition mode in advance according to respective pixel gradients of the partitioned coding units, so as to save the calculation amount of intra-frame prediction coding, calculation rate distortion cost and the like by traversing various multi-tree partition modes, and improve the coding efficiency of video coding.
Fig. 8 is a flow chart of a specific video encoding method according to an embodiment, as shown in fig. 8, in an embodiment, a specific video encoding method may include the following steps:
S802, acquiring a video frame to be encoded, and dividing the video frame into a plurality of encoding blocks;
S804, selecting a dividing direction, and dividing the coding block into three tree coding units according to the selected dividing direction and the three tree dividing mode;
s806, calculating respective pixel gradients of the three tree coding units;
S808, calculating a plurality of ratios among the pixel gradients of each of the three tree coding units, and judging whether the plurality of ratios are all larger than a preset first difference threshold value;
S810, if yes, carrying out intra-frame predictive coding on the three trigeminal tree coding units to obtain a coding result;
S812, if not, judging whether all the dividing directions are traversed, if not, returning to the step S804;
s814, selecting a dividing direction when the coding result is not obtained yet after traversing all the dividing directions, and dividing the coding block into two binary tree coding units according to the selected dividing direction and the binary tree dividing mode;
s816, dividing intervals for the two binary tree coding units respectively to obtain binary tree unit intervals of the binary tree coding units;
S818, calculating pixel gradients in the binary tree unit intervals;
S820, respectively calculating a plurality of ratios between pixel gradients in a binary tree unit interval of the same binary tree coding unit, and judging whether the plurality of ratios are all larger than a preset second difference threshold;
S822, if yes, carrying out intra-frame predictive coding on the two binary tree coding units to obtain a coding result;
s824, if not, judging whether all the dividing directions are traversed, if not, returning to the step S814;
S826, when all the division directions are traversed and the coding result is not obtained, the multi-tree division of the current coding block is ended.
It should be understood that, although the steps in the flowcharts of fig. 2, 3, 7, and 8 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps of fig. 2, 3, 7, and 8 may include multiple sub-steps or phases that are not necessarily performed at the same time, but may be performed at different times, nor does the order in which the sub-steps or phases are performed necessarily occur sequentially, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or phases of other steps.
In one embodiment, as shown in fig. 9, there is provided a video encoding apparatus, which may include:
the mode selection module 902 is configured to further select a target division mode from multiple multi-tree division modes when the quad-tree division mode is excluded; the target division mode is a binary tree division mode or a three-tree division mode;
a dividing module 904, configured to divide a coding block in a video frame to be coded according to the target division mode by using a multi-way tree, so as to obtain a plurality of coding units of the coding block;
a gradient obtaining module 906, configured to obtain respective pixel gradients of the plurality of encoding units according to pixel values of pixels included in the plurality of encoding units;
And a coding module 908, configured to, when differences between pixel gradients of the respective coding units meet a set condition, code the plurality of coding units in the coding block to obtain a coding result of the coding block, and code other coding blocks adjacent to the coding block according to the coding result of the coding block.
In the video coding device, the binary tree partition mode or the three-tree partition mode is selected as the target partition mode when the four-tree partition mode is eliminated, the target partition mode is adopted to divide the coding block into a plurality of coding units, then the pixel gradient of each coding unit is obtained according to the pixel value of each pixel in the coding block, when the difference between the pixel gradients of each coding unit meets the set condition, the current target partition mode is adopted, the rate distortion cost is smaller, the target partition mode can be the optimal multi-tree partition mode, thus the coding can be directly carried out for the plurality of coding units in the coding block, the additional calculation of the rate distortion cost is not needed after the coding, the current optimal multi-tree partition mode is judged based on the rate distortion cost, the calculation amount of the rate distortion cost for the multi-tree partition mode is saved in the whole coding process, and the coding efficiency of video coding is improved.
In one embodiment, the dividing module 904 is specifically configured to: performing multi-tree division on the coding block according to the three-tree division mode to obtain a three-tree coding unit of the coding block; the three-fork tree coding unit comprises a three-fork tree first coding unit, a three-fork tree second coding unit and a three-fork tree third coding unit;
The encoding module 908 is specifically configured to: calculating the ratio between the first coding unit of the three-way tree and the second coding unit of the three-way tree to obtain a first unit gradient ratio, and calculating the ratio between the second coding unit of the three-way tree and the third coding unit of the three-way tree to obtain a second unit gradient ratio; and when the first unit gradient ratio and the second unit gradient ratio are both larger than a preset first difference threshold, carrying out intra-frame predictive coding on the trigeminal coding unit.
In one embodiment, when the first unit gradient ratio and/or the second unit gradient ratio is less than the first variance threshold, the partitioning module 904 is further specifically configured to: performing multi-tree division on the coding block according to the binary tree division mode to obtain a binary tree coding unit of the coding block; dividing the binary tree coding units to obtain a plurality of binary tree unit intervals;
The encoding module 908 is further specifically configured to: acquiring interval gradient ratio values among a plurality of binary tree unit intervals; and when the interval gradient ratios are smaller than a preset second difference threshold value, intra-frame prediction coding is carried out on the binary tree coding units in the coding blocks.
In one embodiment, the dividing module 904 is further specifically configured to: the binary tree coding unit is divided into a first binary tree unit interval and a second binary tree unit interval in an equal ratio mode;
The encoding module 908 is further specifically configured to: acquiring respective pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit according to pixel values of pixels in the coding block; calculating the ratio between the pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit to obtain the interval gradient ratio.
In one embodiment, the pixel gradient includes a local gradient, and the gradient acquisition module 906 is specifically configured to: acquiring an adjacent pixel group formed by a plurality of adjacent pixels in the coding unit; and obtaining the local gradient of the coding unit according to the pixel values of the pixels contained in each adjacent pixel group in the coding unit.
In one embodiment, the encoding unit includes N adjacent pixel groups, and the gradient obtaining module 906 is further specifically configured to: respectively calculating the difference value between the pixel values of each pixel in N adjacent pixel groups to obtain the adjacent pixel differences of the N adjacent pixel groups; and accumulating and calculating the sum of adjacent pixel differences of N adjacent pixel groups to obtain the local gradient.
In one embodiment, the pixel gradient includes a global gradient, and the gradient acquisition module 906 is further specifically configured to: dividing the coding units to obtain a plurality of unit intervals; and obtaining the global gradient of the coding unit according to the pixel values of the pixels contained in each of the plurality of unit intervals.
In one embodiment, the gradient obtaining module 906 is further specifically configured to: calculating the average value of the pixel values of all the pixels in the coding block to obtain the average value of the pixels of the coding block; calculating the difference value between the pixel value of the pixel contained in the unit interval and the pixel mean value of the coding block, and summing the difference value between the pixel value of each pixel in the unit interval and the pixel mean value of the coding block to obtain an interval pixel aggregation value; and calculating the difference value between the interval pixel aggregation values of the plurality of unit intervals to obtain the global gradient.
In one embodiment, the apparatus further comprises:
The coding block size acquisition module is used for acquiring the coding block width and the coding block height of the coding block;
A first threshold calculating module, configured to calculate a ratio of the width of the coding block to the height of the coding block, and determine the first difference threshold according to the ratio of the width of the coding block to the height of the coding block;
and the second threshold calculation module is used for comparing the unit gradient ratio with the first difference threshold and obtaining the second difference threshold according to a comparison result.
In one embodiment, the second threshold calculating module is specifically configured to: when the unit gradient ratio is greater than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the width of the coding block; and when the unit gradient ratio is smaller than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the height of the coding block.
In one embodiment, the dividing module 904 is specifically configured to: selecting a target division direction from the plurality of candidate division directions; dividing the coding block into a plurality of coding units arranged in the coding block according to the target division direction according to the target division mode;
the video encoding device is further configured to: when the difference between the pixel gradients of each of the plurality of encoding units arranged in the target division direction meets a set condition, then jumping to an encoding module 908; the encoding module 908 is specifically configured to encode a plurality of the encoding units arranged according to the target division direction;
the video encoding device is further configured to: when the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction does not meet the set condition, jumping to a division module 904;
The video encoding device is further configured to: when the encoding results of the encoding blocks cannot be obtained after traversing the plurality of candidate division directions, the method jumps to a mode selection module 902, where the mode selection mode is specifically used to select another multi-tree division mode as the new target division mode.
For specific limitations of the video encoding apparatus, reference may be made to the above limitations of the video encoding method, and no further description is given here. The various modules in the video encoding apparatus described above may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
The video coding device provided by the above embodiment can be used for executing the video coding method provided by any embodiment, and has corresponding functions and beneficial effects.
FIG. 10 illustrates an internal block diagram of a computer device in one embodiment. The computer device may be specifically the terminal 110 or the server 120 in fig. 1. As shown in fig. 10, the computer device includes a processor, a memory, a network interface, an input device, and a display screen connected by a system bus. The memory includes a nonvolatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system, and may also store a computer program that, when executed by a processor, causes the processor to implement a video encoding method. The internal memory may also have stored therein a computer program which, when executed by the processor, causes the processor to perform the video encoding method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structure shown in FIG. 10 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, the video encoding apparatus provided by the present application may be implemented in the form of a computer program that is executable on a computer device as shown in fig. 10. The memory of the computer device may store various program modules that make up the video encoding apparatus, such as the mode selection module 902, the division module 904, the gradient acquisition module 906, and the encoding module 908 shown in fig. 9. The computer program constituted by the respective program modules causes the processor to execute the steps in the video encoding method of the respective embodiments of the present application described in the present specification.
For example, the computer apparatus shown in fig. 10 may perform the step of further selecting a target division mode among a plurality of multi-tree division modes when the quad-tree division mode is excluded by the mode selection module 902 in the video encoding device shown in fig. 9. The computer device may divide the coding block in the video frame to be coded according to the target division mode by using the division module 904 in a multi-tree manner, so as to obtain a plurality of coding units of the coding block.
In one embodiment, a computer device is provided that includes a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the video encoding method described above. The steps of the video encoding method herein may be the steps in the video encoding method of the above-described respective embodiments.
In one embodiment, a computer readable storage medium is provided, storing a computer program which, when executed by a processor, causes the processor to perform the steps of the video encoding method described above. The steps of the video encoding method herein may be the steps in the video encoding method of the above-described respective embodiments.
Those skilled in the art will appreciate that all or part of the processes in the methods of the above embodiments may be implemented by a computer program for instructing relevant hardware, where the program may be stored in a non-volatile computer readable storage medium, and where the program, when executed, may include processes in the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (SYNCHLINK) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the application and are described in detail herein without thereby limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of protection of the present application is to be determined by the appended claims.
Claims (14)
1. A video encoding method, comprising:
in the multiple multi-tree dividing modes, when the four-tree dividing mode is eliminated, a target dividing mode is further selected; the target division mode is a binary tree division mode or a three-tree division mode;
performing multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
Acquiring respective pixel gradients of the plurality of coding units according to pixel values of pixels contained in the plurality of coding units;
and when the difference between the pixel gradients of the coding units meets a set condition, coding the coding units in the coding block to obtain a coding result of the coding block, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
2. The method according to claim 1, wherein performing multi-tree division on the coding blocks in the video frame to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks comprises:
Performing multi-tree division on the coding block according to the three-tree division mode to obtain a three-tree coding unit of the coding block; the three-fork tree coding unit comprises a three-fork tree first coding unit, a three-fork tree second coding unit and a three-fork tree third coding unit;
when the differences among the pixel gradients of the plurality of coding units meet the set conditions, coding is performed on the plurality of coding units in the coding block to obtain a coding result of the coding block, including:
calculating the ratio between the first coding unit of the three-way tree and the second coding unit of the three-way tree to obtain a first unit gradient ratio, and calculating the ratio between the second coding unit of the three-way tree and the third coding unit of the three-way tree to obtain a second unit gradient ratio;
And when the first unit gradient ratio and the second unit gradient ratio are both larger than a preset first difference threshold, carrying out intra-frame predictive coding on the trigeminal coding unit to obtain the coding result.
3. The method according to claim 2, wherein when the first unit gradient ratio and/or the second unit gradient ratio is less than the first variance threshold, the method further comprises:
performing multi-tree division on the coding block according to the binary tree division mode to obtain a binary tree coding unit of the coding block;
Dividing the binary tree coding units to obtain a plurality of binary tree unit intervals;
Acquiring interval gradient ratio values among a plurality of binary tree unit intervals;
And when the interval gradient ratios are smaller than a preset second difference threshold value, intra-frame prediction coding is carried out on the binary tree coding units in the coding blocks.
4. A method according to claim 3, wherein said partitioning the binary tree coding unit results in a plurality of binary tree cell segments, comprising:
the binary tree coding unit is divided into a first binary tree unit interval and a second binary tree unit interval in an equal ratio mode;
the obtaining the interval gradient ratio among the binary tree unit intervals comprises the following steps:
Acquiring respective pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit according to pixel values of pixels in the coding block;
calculating the ratio between the pixel gradients of the first interval of the binary tree unit and the second interval of the binary tree unit to obtain the interval gradient ratio.
5. The method of claim 1, wherein the pixel gradient comprises a local gradient, and wherein the obtaining the pixel gradient of each of the plurality of coding units from the pixel values of the pixels included in the plurality of coding units comprises:
acquiring an adjacent pixel group formed by a plurality of adjacent pixels in the coding unit;
And obtaining the local gradient of the coding unit according to the pixel values of the pixels contained in each adjacent pixel group in the coding unit.
6. The method of claim 5, wherein the encoding unit includes N adjacent pixel groups, and wherein the obtaining the pixel gradient of the encoding unit based on the pixel values of the pixels included in each of the adjacent pixel groups in the encoding unit includes:
respectively calculating the difference value between the pixel values of each pixel in N adjacent pixel groups to obtain the adjacent pixel differences of the N adjacent pixel groups;
and accumulating and calculating the sum of adjacent pixel differences of N adjacent pixel groups to obtain the local gradient.
7. The method of claim 1, wherein the pixel gradient comprises a global gradient, the obtaining the pixel gradient of each of the plurality of coding units from pixel values of pixels included in the plurality of coding units, comprising:
Dividing the coding units to obtain a plurality of unit intervals;
And obtaining the global gradient of the coding unit according to the pixel values of the pixels contained in each of the plurality of unit intervals.
8. The method according to claim 7, wherein the obtaining the pixel gradient of the coding unit according to the pixel values of the pixels included in each of the plurality of unit intervals includes:
Calculating the average value of the pixel values of all the pixels in the coding block to obtain the average value of the pixels of the coding block;
calculating the difference value between the pixel value of the pixel contained in the unit interval and the pixel mean value of the coding block, and summing the difference value between the pixel value of each pixel in the unit interval and the pixel mean value of the coding block to obtain an interval pixel aggregation value;
and calculating the difference value between the interval pixel aggregation values of the plurality of unit intervals to obtain the global gradient.
9. A method according to claim 3, further comprising:
acquiring the width and the height of the coding block;
Calculating the ratio of the width of the coding block to the height of the coding block, and determining the first difference threshold according to the ratio of the width of the coding block to the height of the coding block;
and comparing the unit gradient ratio with the first difference threshold, and obtaining the second difference threshold according to a comparison result.
10. The method of claim 9, wherein the deriving the second variance threshold based on the comparison result comprises:
When the unit gradient ratio is greater than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the width of the coding block;
And when the unit gradient ratio is smaller than the first difference threshold, obtaining the second difference threshold according to the ratio of the sum of squares between the width of the coding block and the height of the coding block to the height of the coding block.
11. The method according to claim 1, wherein performing multi-tree division on the coding blocks in the video frame to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks comprises:
selecting a target division direction from the plurality of candidate division directions;
Dividing the coding block into a plurality of coding units arranged in the coding block according to the target division direction according to the target division mode;
The method further comprises the steps of:
When the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction meets a set condition, coding the plurality of coding units arranged according to the target division direction;
when the difference between the pixel gradients of the plurality of coding units arranged according to the target division direction does not meet the set condition, returning to execute the step of selecting the target division direction from the plurality of candidate division directions;
And when the coding result of the coding block cannot be obtained after traversing a plurality of candidate dividing directions, selecting another multi-tree dividing mode as a new target dividing mode, and returning to the step of multi-tree dividing the coding block in the video frame to be coded according to the target dividing mode to obtain a plurality of coding units of the coding block.
12. A video encoding apparatus, comprising:
the mode selection module is used for further selecting a target division mode when the quadtree division mode is excluded from a plurality of multi-tree division modes; the target division mode is a binary tree division mode or a three-tree division mode;
The division module is used for carrying out multi-tree division on the coding blocks in the video frames to be coded according to the target division mode to obtain a plurality of coding units of the coding blocks;
The gradient acquisition module is used for acquiring the pixel gradients of the plurality of coding units according to the pixel values of the pixels contained in the plurality of coding units;
And the coding module is used for coding the plurality of coding units in the coding block to obtain a coding result of the coding block when the difference between the pixel gradients of the plurality of coding units meets a set condition, and coding other coding blocks adjacent to the coding block according to the coding result of the coding block.
13. A computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the method of any one of claims 1 to 11.
14. A computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method of any of claims 1 to 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005293.1A CN110719490B (en) | 2019-10-22 | 2019-10-22 | Video encoding method, apparatus, computer-readable storage medium, and computer device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911005293.1A CN110719490B (en) | 2019-10-22 | 2019-10-22 | Video encoding method, apparatus, computer-readable storage medium, and computer device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110719490A CN110719490A (en) | 2020-01-21 |
CN110719490B true CN110719490B (en) | 2024-05-03 |
Family
ID=69213068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911005293.1A Active CN110719490B (en) | 2019-10-22 | 2019-10-22 | Video encoding method, apparatus, computer-readable storage medium, and computer device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110719490B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111246221B (en) * | 2020-01-22 | 2022-03-25 | 中山大学 | AVS3 intra-frame rapid division method, system and storage medium |
CN111770339B (en) * | 2020-07-22 | 2022-04-15 | 腾讯科技(深圳)有限公司 | Video encoding method, device, equipment and storage medium |
CN111669593B (en) * | 2020-07-27 | 2022-01-28 | 北京奇艺世纪科技有限公司 | Video encoding method, video encoding device, electronic equipment and storage medium |
CN117440157B (en) * | 2023-09-26 | 2024-05-28 | 书行科技(北京)有限公司 | Video coding method, device, equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883566A (en) * | 2015-05-27 | 2015-09-02 | 复旦大学 | Rapid algorithm suitable for intra-frame prediction block size division of HEVC standard |
WO2017205700A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary, ternary and quad tree partitioning for jvet coding of video data |
CN109413421A (en) * | 2018-10-26 | 2019-03-01 | 西安科锐盛创新科技有限公司 | Method for video coding, equipment and video encoding/decoding method, equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9202289B2 (en) * | 2010-09-30 | 2015-12-01 | Electronics And Telecommunications Research Institute | Method for coding and decoding target block partition information using information about neighboring blocks |
US9948930B2 (en) * | 2016-05-17 | 2018-04-17 | Arris Enterprises Llc | Template matching for JVET intra prediction |
-
2019
- 2019-10-22 CN CN201911005293.1A patent/CN110719490B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883566A (en) * | 2015-05-27 | 2015-09-02 | 复旦大学 | Rapid algorithm suitable for intra-frame prediction block size division of HEVC standard |
WO2017205700A1 (en) * | 2016-05-25 | 2017-11-30 | Arris Enterprises Llc | Binary, ternary and quad tree partitioning for jvet coding of video data |
CN109413421A (en) * | 2018-10-26 | 2019-03-01 | 西安科锐盛创新科技有限公司 | Method for video coding, equipment and video encoding/decoding method, equipment |
Also Published As
Publication number | Publication date |
---|---|
CN110719490A (en) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110719490B (en) | Video encoding method, apparatus, computer-readable storage medium, and computer device | |
CN110708551B (en) | Video encoding method, apparatus, computer-readable storage medium, and computer device | |
CN109788287B (en) | Video encoding method, video encoding device, computer equipment and storage medium | |
US9451266B2 (en) | Optimal intra prediction in block-based video coding to calculate minimal activity direction based on texture gradient distribution | |
EP3282701B1 (en) | Prediction mode selection method, apparatus and device | |
KR102275830B1 (en) | Intra prediction video coding method and apparatus | |
CN109587491B (en) | Intra-frame prediction method, device and storage medium | |
US20140169472A1 (en) | Motion estimation engine for video encoding | |
CN112055203B (en) | Inter-frame prediction method, video coding method and related devices | |
US20240031576A1 (en) | Method and apparatus for video predictive coding | |
CN111741297B (en) | Inter-frame prediction method, video coding method and related devices | |
US10785501B2 (en) | System and method of performing motion estimation in multiple reference frame | |
US10735738B2 (en) | Refinement of a low-pel resolution motion estimation vector | |
US9020283B2 (en) | Electronic device and method for splitting image | |
US20140133768A1 (en) | Electronic device and method for splitting image | |
CN111988605B (en) | Mode selection method, mode selection device, computer readable storage medium and electronic device | |
CN111246220A (en) | Depth prediction method and device based on VVC intra-frame coding and storage medium | |
CN114257819A (en) | VCC coding unit fast dividing method based on space-time depth information | |
Tariq | Intra mode selection using classical secretary problem (CSP) in high efficiency video coding (HEVC) | |
CN110213595B (en) | Intra-frame prediction based encoding method, image processing apparatus, and storage device | |
CN110971896B (en) | H.265 coding method and device | |
KR20210138760A (en) | Image element prediction methods, encoders, decoders and storage media | |
CN111918059A (en) | Hardware-friendly regression tree-based intra-frame prediction mode decision method and device | |
CN116156174B (en) | Data encoding processing method, device, computer equipment and storage medium | |
CN104954800B (en) | A kind of fast determination method and device of the intra prediction mode of Video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40019599 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |