CN114520916B - Video encoding method, video encoding device, terminal equipment and storage medium - Google Patents

Video encoding method, video encoding device, terminal equipment and storage medium Download PDF

Info

Publication number
CN114520916B
CN114520916B CN202011302700.8A CN202011302700A CN114520916B CN 114520916 B CN114520916 B CN 114520916B CN 202011302700 A CN202011302700 A CN 202011302700A CN 114520916 B CN114520916 B CN 114520916B
Authority
CN
China
Prior art keywords
division
sub
block
mode
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011302700.8A
Other languages
Chinese (zh)
Other versions
CN114520916A (en
Inventor
许桂森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011302700.8A priority Critical patent/CN114520916B/en
Publication of CN114520916A publication Critical patent/CN114520916A/en
Application granted granted Critical
Publication of CN114520916B publication Critical patent/CN114520916B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

The embodiment of the application discloses a video coding method, a video coding device, terminal equipment and a storage medium, wherein the method comprises the following steps: and carrying out block division processing on the unit to be coded based on the determined first division mode to obtain N sub-blocks. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. The division direction of the second division manner is determined according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.

Description

Video encoding method, video encoding device, terminal equipment and storage medium
Technical Field
The present disclosure relates to the field of video processing, and in particular, to a video encoding method, apparatus, terminal device, and storage medium.
Background
With the development of network technology, more and more users watch videos through various terminals. Because the storage space occupied by the video is often huge and the network bandwidth is limited, the video needs to be compressed, namely encoded, when the video is transmitted, so that the occupation of the storage space by the video is reduced. In the related art, when a video encoder encodes a video, various division attempts in different division directions are required for each division mode, so that an optimal division mode is selected. However, this coding method for traversing all the division modes and division directions requires much time and high coding complexity.
Disclosure of Invention
The embodiment of the application provides a video coding method, a video coding device, terminal equipment and a storage medium, which can reduce video coding time and coding complexity.
In a first aspect, an embodiment of the present application provides a video encoding method, including:
determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
Traversing and selecting one sub-block from the N sub-blocks as a sub-block N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
at the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction, until each of the N sub-blocks is traversed, obtaining the first number in the first division direction and the second number in the second division direction for each of the sub-blocks;
taking the next division mode of the first division mode as a second division mode, and determining the division direction of the second division mode according to the first quantity of each sub-block in the first division direction and the second quantity of each sub-block in the second division direction; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
With reference to the first aspect, in a possible implementation manner, before the determining a first partitioning manner for performing a block partitioning process on a unit to be encoded in a target video frame, the method further includes:
acquiring an encoder for video encoding a target image frame in video data, and acquiring at least one image block in the target video frame in the process of video encoding the target image frame by adopting the encoder;
acquiring a unit to be encoded from the at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on the encoder; the block partitioning strategy includes at least the first partitioning approach.
With reference to the first aspect, in one possible implementation manner, the determining, with the next division manner of the first division manner as a second division manner, a division direction of the second division manner according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction includes:
based on a block division strategy corresponding to the coding unit, taking the next division mode of the first division mode as a second division mode; the second division is different from the first division;
Determining a first accumulated number of the N sub-blocks in the first division direction according to the first number of each sub-block in the first division direction;
determining a second accumulated number of the N sub-blocks in the second division direction according to the second number of each sub-block in the second division direction;
determining a division direction of the second division mode according to the first accumulation number and the second accumulation number; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded.
With reference to the first aspect, in a possible implementation manner, the determining the dividing direction of the second dividing manner according to the first accumulated number and the second accumulated number includes:
comparing the first accumulated number with the second accumulated number to obtain a comparison result;
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, terminating the division decision of the second division mode in the second division direction, and determining the first division direction as the division direction of the second division mode;
And if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, terminating the division decision of the second division mode in the first division direction, and determining the second division direction as the division direction of the second division mode.
With reference to the first aspect, in one possible implementation manner, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
if the comparison result indicates that the first accumulated number is greater than the second accumulated number, terminating the division decision of the second division manner in the second division direction, and determining the first division direction as the division direction of the second division manner, including:
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining a first optimization division mode by using block division modes except the first division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the first division mode to be optimized in the second division mode in the vertical division direction, and determining the horizontal division direction corresponding to the first division mode to be the division direction of the second division mode.
With reference to the first aspect, in one possible implementation manner, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
if the comparison result indicates that the first accumulated number is smaller than the second accumulated number, terminating the division decision of the second division manner in the first division direction, and determining the second division direction as the division direction of the second division manner, including:
if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using block division modes except the second division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the second division mode to be optimized in the second division modes in the horizontal division direction, and determining the vertical division direction corresponding to the second division mode to be the division direction of the second division mode.
With reference to the first aspect, in a possible implementation manner, the first division manner is a quadtree division manner; the second division mode is one of a binary tree division mode, a three-fork tree division mode and an extended four-fork tree division mode;
the method further comprises the steps of:
determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded; the M sub-blocks all belong to a first layer sub-block in a second coding tree corresponding to the second division mode; the M is the number of sub-blocks on a first layer sub-block in the second coding tree, and is determined by the second partitioning manner;
determining first rate-distortion costs of the N sub-blocks in the first coding tree, and determining second rate-distortion costs of the M sub-blocks in the second coding tree; the first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded; the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded and the unit to be encoded by dividing the sub-blocks after dividing by adopting a dividing mode;
Determining a division mode with the minimum rate distortion cost in the first division mode and the second division mode based on the sum of the first rate distortion cost of the N sub-blocks and the sum of the second rate distortion cost of the M sub-blocks;
determining the determined division mode with the minimum rate distortion cost as a target division mode; and carrying out coding prediction on the unit to be coded based on the target division mode.
In a second aspect, embodiments of the present application provide a video encoding apparatus, including:
the first block division processing module is used for determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
a subblock division depth determining module for traversing and selecting one subblock from the N subblocks as subblock N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
a sub-block number statistics module, configured to, in the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction, straightObtaining a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction when each sub-block in the N sub-blocks is traversed;
a division direction determining module, configured to determine a division direction of the second division manner according to a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction, with a next division manner of the first division manner being a second division manner; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
With reference to the second aspect, in a possible implementation manner, the apparatus further includes:
an image block acquisition module, configured to acquire an encoder for video encoding a target image frame in video data, and acquire at least one image block in the target video frame in a process of video encoding the target image frame by adopting the encoder;
the block division strategy determining module is used for acquiring a unit to be encoded from the at least one image block, and determining a block division strategy for carrying out block division processing on the unit to be encoded based on the encoder; the block partitioning strategy includes at least the first partitioning approach.
With reference to the second aspect, in a possible implementation manner, the dividing direction determining module includes:
a second division mode determining unit, configured to use a next division mode of the first division mode as a second division mode based on a block division policy corresponding to the encoding unit; the second division is different from the first division;
a first accumulated number determining unit configured to determine a first accumulated number of the N sub-blocks in the first division direction according to a first number of each sub-block in the first division direction;
A second cumulative number determining unit configured to determine a second cumulative number of the N sub-blocks in the second division direction according to the second number of each sub-block in the second division direction;
a dividing direction determining unit, configured to determine a dividing direction of the second dividing manner according to the first accumulated number and the second accumulated number; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded.
With reference to the second aspect, in a possible implementation manner, the dividing direction determining unit includes:
the comparison processing subunit is used for comparing the first accumulated number with the second accumulated number to obtain a comparison processing result;
a first comparison result processing subunit, configured to terminate a division decision of the second division manner in the second division direction if the comparison result indicates that the first accumulated number is greater than the second accumulated number, and determine the first division direction as a division direction of the second division manner;
and the second comparison result processing subunit is used for terminating the division decision of the second division mode in the first division direction and determining the second division direction as the division direction of the second division mode if the comparison processing result indicates that the first accumulation number is smaller than the second accumulation number.
With reference to the second aspect, in one possible implementation manner, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the first comparison result processing subunit is specifically configured to:
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining a first optimization division mode by using block division modes except the first division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the first division mode to be optimized in the second division mode in the vertical division direction, and determining the horizontal division direction corresponding to the first division mode to be the division direction of the second division mode.
With reference to the second aspect, in one possible implementation manner, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the second comparison result processing subunit is specifically configured to:
If the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using block division modes except the second division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the second division mode to be optimized in the second division modes in the horizontal division direction, and determining the vertical division direction corresponding to the second division mode to be the division direction of the second division mode.
With reference to the second aspect, in a possible implementation manner, the first division manner is a quadtree division manner; the second division mode is one of a binary tree division mode, a three-fork tree division mode and an extended four-fork tree division mode;
the apparatus further comprises:
the second block division processing module is used for determining the division direction of the second division mode as a target division direction, and after carrying out block division processing on the unit to be encoded according to the second division mode corresponding to the target division direction, obtaining M sub-blocks of the unit to be encoded; the M sub-blocks all belong to a first layer sub-block in a second coding tree corresponding to the second division mode; the M is the number of sub-blocks on a first layer sub-block in the second coding tree, and is determined by the second partitioning manner;
A rate-distortion cost determining module, configured to determine first rate-distortion costs of the N sub-blocks in the first coding tree, and determine second rate-distortion costs of the M sub-blocks in the second coding tree; the first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded; the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded and the unit to be encoded by dividing the sub-blocks after dividing by adopting a dividing mode;
a minimum rate distortion cost determining module, configured to determine a division manner with a minimum rate distortion cost from the first division manner and the second division manner based on a sum of first rate distortion costs of the N sub-blocks and a sum of second rate distortion costs of the M sub-blocks;
the target division mode determining module is used for determining the determined division mode with the minimum rate distortion cost as a target division mode; and carrying out coding prediction on the unit to be coded based on the target division mode.
In a third aspect, embodiments of the present application provide a terminal device that includes a processor and a memory, where the processor and the memory are interconnected. The memory is configured to store a computer program supporting the terminal device to perform the method provided by the first aspect and/or any of the possible implementation manners of the first aspect, the computer program comprising program instructions, the processor being configured to invoke the program instructions to perform the method provided by the first aspect and/or any of the possible implementation manners of the first aspect.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium storing a computer program comprising program instructions which, when executed by a processor, cause the processor to perform the method provided by the first aspect and/or any one of the possible implementations of the first aspect.
In the embodiment of the application, a first division manner for performing block division processing on a unit to be encoded in a target video frame is determined, and the unit to be encoded is subjected to block division processing according to the first division manner, so as to obtain N sub-blocks of the unit to be encoded. The N sub-blocks belong to first layer sub-blocks in a first coding tree corresponding to the first division mode. N is the number of sub-blocks on the first layer sub-block in the first coding tree and is determined by the first partitioning scheme. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. The sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme. The division direction of the sub-division manner includes a first division direction and a second division direction. i is a non-negative integer less than N. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. And determining the dividing direction of the second dividing mode according to the first quantity of each sub-block in the first dividing direction and the second quantity of each sub-block in the second dividing direction by taking the next dividing mode of the first dividing mode as the second dividing mode. The dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and the unit to be encoded is subjected to block dividing processing. The second division is different from the first division. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a division for video frames;
FIG. 2 is a schematic diagram of a horizontal partition mode and a vertical partition mode of BT, TT and EQT partitioning provided herein;
fig. 3 is a schematic diagram of an implementation environment of a video encoding method according to an embodiment of the present application;
fig. 4 is a schematic flow chart of a video encoding method according to an embodiment of the present application;
FIG. 5 is a flow chart of a partitioning decision provided by an embodiment of the present application;
FIG. 6 is a schematic diagram of a coding tree according to an embodiment of the present application;
fig. 7 is a schematic diagram of an application scenario for determining a sub-block division depth according to an embodiment of the present application;
fig. 8 is a schematic view of an application scenario for determining a division direction of a second division manner according to an embodiment of the present application;
fig. 9 is a schematic diagram of an application scenario for determining a division direction of a second division manner according to an embodiment of the present application;
fig. 10 is a schematic flow chart of a video encoding method according to an embodiment of the present application;
fig. 11 is a schematic diagram of an application scenario of partition decision provided in an embodiment of the present application;
fig. 12 is a schematic structural diagram of a video encoding device according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of a video encoding device according to an embodiment of the present application;
Fig. 14 is a schematic structural diagram of a terminal device provided in an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
In order to more clearly describe the technical solutions provided in the present application, first, nouns involved in the embodiments of the present application are described:
coding Unit (CU): in general, a video sequence is subjected to frame splitting processing to obtain a plurality of video frames. Wherein one video frame may include a plurality of coding units. In video coding, a video frame needs to be divided, where the division includes multiple levels. For example, referring to fig. 1, fig. 1 is a schematic diagram of division for video frames. As shown in fig. 1, it is assumed that a video sequence includes 99 video frames, which are video frame 1 to video frame 99, respectively. The video frame 99 is encoded by a video encoder, for example. Assume that a Quad Tree (QT) partition of video frame 99 results in four image blocks, CU1, CU2, CU3, and CU4, respectively. The four image blocks are also known as coding units. Further, the video encoder can continue dividing any one or more of the four image blocks to obtain a first layer sub-block. For example, taking the division into Binary Tree (BT) for the image block CU4 as an example, the video encoder can divide the image block CU4 into two first layer sub-blocks, a first layer sub-block 101 and a first layer sub-block 102, respectively. The video encoder can further divide any 1 or 2 first layer sub-blocks of the two first layer sub-blocks to obtain a second layer sub-block (not shown in fig. 1), and so on, to obtain a sub-block of a deeper layer.
Currently, the video encoder mainly includes 4 kinds of partition modes, such as QT partition, BT partition, trigeminal Tree (TT) partition, and Extended Quad-Tree (EQT) partition. The BT division, the TT division and the EQT division have two division modes, namely vertical and horizontal. Specifically, referring to fig. 2, fig. 2 is a schematic diagram of a horizontal division mode and a vertical division mode of BT, TT and EQT division provided in the present application. The number (1) in fig. 2 represents a binary tree division in the vertical direction (vertical binary division for short), the number (2) in fig. 2 represents a binary tree division in the horizontal direction (horizontal binary division for short), the number (3) in fig. 2 represents a trigeminal tree division in the vertical direction (vertical trigeminal division for short), the number (4) in fig. 2 represents a trigeminal tree division in the horizontal direction (horizontal trigeminal division for short), the number (5) in fig. 2 represents an extended quadtree division in the vertical direction (vertical extended quadtree division for short), and the number (6) in fig. 2 represents an extended quadtree division in the horizontal direction (horizontal extended quadtree division for short). In general, QT and BT may be recursively divided, i.e., the resulting sub-block after QT division may continue BT division, but the sub-block after BT division may no longer be QT divided. The EQT and TT can also be recursively divided with BT, namely the sub-blocks after the EQT/TT division can be continuously divided with BT, and the sub-blocks after the BT division can be continuously divided with EQT/BT.
The video coding method provided by the application can be used in the context of various video coding standards, such as in a multifunctional video coding standard (Versatile Video Coding, VVC/h.266), or in a high-performance video coding standard (High Efficiency Video Coding, HEVC), or in a second-generation digital video coding and decoding technical standard (Audio Video coding Standard 2, avs 2), or in a third-generation digital video coding and decoding technical standard (Audio Video coding Standard 3, avs 3), etc., which are not limited in this embodiment of the application.
Referring to fig. 3, fig. 3 is a schematic view of an implementation environment of a video encoding method according to an embodiment of the present application. As shown in fig. 3, a terminal device 210 and a server 220 may be included in the implementation environment. The terminal device 210 is connected to the server 220 through a wireless network or a wired network. Optionally, the terminal device 210 includes a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., which is not limited herein. The terminal device 210 is installed and operated with an encoder supporting video encoding. Optionally, the server 220 is a stand-alone physical server, or a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, a delivery network (ContentDelivery Network, CDN), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal device and the server can be directly or indirectly connected through wired or wireless communication, which is not limited herein.
In the embodiment of the present application, the technical solution provided in the embodiment of the present application may be implemented by using a server or a terminal device as an execution body, and the technical method provided in the present application may also be implemented by interaction between the terminal device and the server, which is not limited in the embodiment of the present application. For convenience of description, a terminal device will be described as an example. Specifically, according to the method in the embodiment of the application, the terminal device determines a first division manner for performing block division processing on the unit to be encoded in the target video frame, and performs block division processing on the unit to be encoded according to the first division manner, so that N sub-blocks of the unit to be encoded can be obtained. The N sub-blocks belong to first layer sub-blocks in a first coding tree corresponding to the first division mode. N is the number of sub-blocks on the first layer sub-block in the first coding tree and is determined by the first partitioning scheme. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. The sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme. The division direction of the sub-division manner includes a first division direction and a second division direction. i is a non-negative integer less than N. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. Determining a second division based on a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction by using a next division of the first division as the second divisionThe division direction of the division mode. The dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and the unit to be encoded is subjected to block dividing processing. The second division is different from the first division. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
The method and the related apparatus according to the embodiments of the present application will be described in detail below with reference to fig. 4 to 14, respectively.
Referring to fig. 4, fig. 4 is a flowchart of a video encoding method according to an embodiment of the present application. The method provided by the embodiment of the application may include the following steps S301 to S304:
S301, determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded.
In some possible embodiments, a first division manner for performing block division processing on a unit to be encoded in a target video frame is determined, and block division processing is performed on the unit to be encoded according to the first division manner, so as to obtain N sub-blocks of the unit to be encoded. The N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode, N is the number of sub-blocks on the first layer sub-block in the first coding tree, and N is determined by the first division mode. That is, the first division manner in the embodiment of the present application is only a division manner for dividing the unit to be encoded into the first layer sub-blocks, and then the division for each first layer sub-block, and the division of the sub-blocks of the first layer sub-block (for convenience of description, abbreviated as the second layer sub-block), and the division of the sub-blocks of the first sub-block (for convenience of description, abbreviated as the third layer sub-block), and the division of the even deeper sub-blocks will not be limited by the first division manner. For example, assuming that the first division manner is QT division (i.e., m=4), the unit to be encoded may be divided into 4 first layer sub-blocks, and further, for the division of each subsequent first layer sub-block and deeper sub-block, QT division and/or BT division and/or TT division and/or EQT division may be adopted, which is specifically determined according to the actual application scenario, and is not limited herein.
Generally, the following partitioning methods for the first layer sub-block and the deeper sub-block may be determined by using a Rate-distortion optimization (Rate-distortion Optimization, RDO) method, and finally, the partitioning method with the smallest Rate-distortion (RD) cost is selected and stored as the optimal partitioning method for the whole unit to be encoded.
Wherein, the execution sequence of the 4 division modes (namely QT, BT, TT and EQT) in different encoders is different. Assuming that the order of execution in the encoder is T0→T1→T2→T3, T0 may generally select QT partitioning. Alternatively, T0 may be one of BT, TT and EQT, without limitation. For convenience of description, T0 in the embodiments of the present application is described as QT division. Referring to fig. 5, fig. 5 is a flow chart of a partition decision provided in an embodiment of the present application. As shown in fig. 5, the execution sequence in the encoder is qt→t1→t2→t3, where when T0 is QT division, the remaining T1, T2, T3 can only be any one of BT, TT, EQT and T1, T2, T3 cannot be the same division. Thus, there are six combinations of T1, T2, T3: (1) t1, T2, T3 may be BT, TT, EQT, respectively, i.e., the encoder is executed in the order QT→BT→TT EQT. (2) T1, T2, T3 may also be BT, EQT, TT, respectively, i.e., the encoder is executed in the order QT→BT→EQT→TT. (3) T1, T2, T3 may also be TT, BT, EQT, respectively, i.e., the encoder is executed in the order QT→TT BT→EQT. (4) T1, T2, T3 may also be TT, EQT, BT, respectively, i.e., the encoder is executed in the order QT→TT EQT→BT. (5) T1, T2, T3 may also be EQT, BT, TT, respectively, i.e., the encoder is executed in the order QT→EQT→BT→TT. (6) T1, T2, T3 may also be EQT, TT, BT, respectively, i.e. the encoder is executed in the order QT→EQT→TT→BT. The present application does not limit the selection of the above 6 execution sequences. Therefore, when the first division manner is QT division, the next division manner (i.e., the second division manner) of the first division manner may be any one of BT, TT, EQT, specifically, the order of execution of the actually used encoders. For example, it is assumed that the order of execution of the encoder used in the present application is qt→bt→tt→eqt, the second division is BT when the first division is BT, TT when the first division is TT, and EQT when the first division is TT.
It should be appreciated that when the partition decision is made based on the flow shown in fig. 5, then the QT partition decision of the current CU has been completed, i.e., the partition pattern of the four sub-blocks of the QT partition of the current CU has also been determined, when the T1 partition decision is made. When the T2 partition decision is made, the QT and T1 partition decision of the current CU has been completed, i.e. the optimal partition way of the current CU is one of QT and T1 partition. When the T3 partition decision is made, the QT, T1 and T2 partition decisions of the current CU have been completed, i.e. the optimal partition way of the current CU is one of QT, T1 and T2 partitions. After the T3 division decision is performed, a final optimal division manner may be selected from QT, T1, T2, and T3, and the optimal division manner may be used to perform coding prediction on the coding unit subsequently, so as to find a prediction block corresponding to the coding unit, and further perform coding based on a difference in content variability between the prediction block and the coding unit.
For convenience of description, the following embodiments of the present application will take qt→bt→tt→eqt as an example of the execution sequence of the encoder. Accordingly, QT, BT, TT, and EQT may be sequentially taken as the first division manner. Wherein, when the first division mode is QT division, the value of N is equal to 4, when the first division mode is BT division, the value of N is equal to 2, when the first division mode is TT division, the value of N is equal to 3, and when the first division mode is EQT division, the value of N is equal to 4. It will be appreciated that when the units to be encoded are divided based on the above-described execution order (i.e., qt→bt→tt→eqt), the dividing direction of BT is determined by QT, the dividing direction of TT is determined by BT, and the dividing direction of EQT is determined by TT.
It should be understood that, in the present application, the first coding tree is a coding tree corresponding to the first division manner, where the first coding tree includes, in addition to information that the unit to be coded is divided into N first layer sub-blocks based on the first division manner, information that the first layer sub-blocks are divided into second layer sub-blocks, and the second layer sub-blocks are divided into third layer sub-blocks and deeper sub-blocks. For example, referring to fig. 6, fig. 6 is a schematic structural diagram of a coding tree according to an embodiment of the present application. As shown in fig. 6, the root node of the coding tree is a unit to be coded, where, assuming that the first division manner is BT division, after performing block division processing on the unit to be coded based on BT division in the horizontal direction (i.e., horizontal binary division), 2 first layer sub-blocks, which are sub-block 1 and sub-block 2 in fig. 6, are obtained. Further, by performing horizontal trigeminal division on the sub-block 1 in the first layer sub-block and horizontal binary division on the sub-block 2 in the first layer sub-block, 5 second layer sub-blocks, which are respectively sub-block 3, sub-block 4, sub-block 5, sub-block 6 and sub-block 7 as shown in fig. 6, can be obtained. By performing vertical expansion quadtree division on the sub-block 4 in the second layer sub-block and performing horizontal trigeminal division on the sub-block 7, 7 third layer sub-blocks, namely, sub-block 8, sub-block 9, sub-block 10, sub-block 11, sub-block 12, sub-block 13 and sub-block 14 as shown in fig. 6, can be obtained. Wherein, to make the representation of the coding tree more compact, the graphical representation of the sub-blocks in the coding tree may be omitted, i.e. as shown in fig. 6, the squares representing the sub-blocks are omitted to obtain a simplified representation of the coding tree.
S302, traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth.
In some possible embodiments, one sub-block is selected from the N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. Wherein the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme. The division directions of the sub-division modes comprise a first division direction and a second division direction, wherein i is a non-negative integer less than N. Here, the sub-division is a division for the first layer sub-block and a division for the deeper sub-block, for example, the second layer sub-block, the third layer sub-block, and the like.
For example, please refer to fig. 7, fig. 7 is a schematic diagram of an application scenario in which determining the sub-block division depth is provided in the present application. As shown in fig. 7, it is assumed that the first division manner is QT division, so after the first layer division is performed on the unit to be encoded based on QT division, 4 first layer sub-blocks (i.e., n=4) are obtained, after that, for each first layer sub-block, an optimal division manner of each first layer sub-block may be determined based on the RDO method, and an optimal division manner of the sub-block (i.e., the second layer sub-block) of the first layer sub-block is determined based on the RDO method, so as to push this, and finally, the one with the lowest RD cost of the whole unit to be encoded obtained based on QT division is selected as the best division manner of this division.
The optimal division manner of the whole unit to be encoded, which is obtained by adopting QT division, is determined based on the RDO method, as shown in the unit to be encoded on the left in fig. 7, wherein a line 01 in the unit to be encoded represents QT division, a line 02 represents BT division, and a line 03 represents TT division. To the right of fig. 7 is a corresponding tree representation. Therefore, for 4 sub-blocks (i.e., 4 first layer sub-blocks), the division depth of each sub-block of the 4 sub-blocks can be counted in turn, thereby obtaining 4 division depths. As shown in fig. 7, the upper left corner of the first layer sub-block N 10 Is divided into 2 second layer sub-blocks by horizontal binary division, thus first layer sub-block N 10 The sub-block division depth dN of (a) 10 First layer sub-block N in upper right corner =2 11 Is divided into 2 second layer sub-blocks by horizontal binary division, thus first layer sub-block N 11 The sub-block division depth dN of (a) 11 First layer sub-block N in lower left corner =2 12 Is divided into 2 second layer sub-blocks by horizontal binary division, thus first layer sub-block N 12 The sub-block division depth dN of (a) 12 First layer sub-block N in lower right corner =2 13 Is divided into 2 second layer sub-blocks by horizontal binary division, thus first layer sub-block N 13 The sub-block division depth dN of (a) 13 =2。
S303, at sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained.
In some possible embodiments, at sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. The first division direction may be a vertical division direction, and the second division direction may be a horizontal division direction. Alternatively, the first division direction may be a horizontal division direction and the second division direction may be a vertical division direction. Alternatively, the first dividing direction and the second dividing direction may be a diagonally left dividing direction, a diagonally right dividing direction, or the like, respectively, which is not limited herein. For convenience of description, the following embodiments of the present application will take the first division direction as a vertical division direction and the second division direction as a horizontal division direction as an example.
For example, please refer to fig. 7, at dN 10 Within the sub-block division depth of=2, sub-block N in the first layer sub-block can be obtained 10 Is divided into 2 second layer sub-blocks by horizontal binary, and the 2 second layer sub-blocks are not further divided, so sub-block N 10 A first number HN in the horizontal dividing direction 10 =1, subblock N 10 A second number VN in the vertical dividing direction 10 =0. At dN 11 Within the subblock division depth of=2, subblock N in the first layer subblock 11 Is divided into 3 second layer sub-blocks by horizontal three branches, and the 3 second layer sub-blocks are not further divided, so sub-block N 11 A first number HN in the horizontal dividing direction 11 =1, subblock N 11 A second number VN in the vertical dividing direction 11 =0. At dN 12 Within the subblock division depth of=2, subblock N in the first layer subblock 12 Is vertically triad divided into 3 second layer sub-blocks, and the 3 second layer sub-blocks are not further divided, thus sub-block N 12 A first number HN in the horizontal dividing direction 12 =0, subblock N 12 A second number VN in the vertical dividing direction 12 =1. At dN 13 Within the subblock division depth of=2, subblock N in the first layer subblock 13 Quilt waterThe flat binary is divided into 2 second layer sub-blocks, and the 2 second layer sub-blocks are not further divided, so sub-block N 13 A first number HN in the horizontal dividing direction 13 =1, subblock N 13 A second number VN in the vertical dividing direction 13 =0。
S304, taking the next division mode of the first division mode as a second division mode, and determining the division direction of the second division mode according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction.
In some possible embodiments, a next division manner of the first division manner is taken as a second division manner, and a division direction of the second division manner is determined according to a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction. The second division mode is used for indicating the encoder corresponding to the unit to be encoded, the unit to be encoded is subjected to block division processing, and the second division mode is different from the first division mode.
Specifically, based on a block division policy corresponding to the coding unit, a next division manner of the first division manner is taken as a second division manner. Wherein the second division is different from the first division. A first cumulative number of N sub-blocks in the first division direction is determined based on the first number of each sub-block in the first division direction. A second cumulative number of N sub-blocks in the second division direction is determined based on the second number of each sub-block in the second division direction. Further, the division direction of the second division manner may be determined according to the first accumulation amount and the second accumulation amount. The partition direction of the second partition mode is used for indicating the encoder corresponding to the unit to be encoded, and the unit to be encoded is subjected to block partition processing. The first accumulated number is equal to the sum of the first numbers corresponding to each of the sub-blocks in the first layer of sub-blocks, and the second accumulated number is equal to the sum of the second numbers corresponding to each of the sub-blocks in the first layer of sub-blocks.
For example, please refer to fig. 7, which illustrates sub-block N shown in fig. 7 10 A first number HN in the horizontal dividing direction 10 =1, subblock N 10 A second number VN in the vertical dividing direction 10 =0. Sub-block N 11 A first number HN in the horizontal dividing direction 11 =1, subblock N 11 A second number VN in the vertical dividing direction 11 =0. Sub-block N 12 A first number HN in the horizontal dividing direction 12 =0, subblock N 12 A second number VN in the vertical dividing direction 12 =1. Sub-block N 13 A first number HN in the horizontal dividing direction 13 =1, subblock N 13 A second number VN in the vertical dividing direction 13 =0. Thus, a first cumulative number h=hn can be obtained 10 +HN 11 +HN 12 +HN 13 =3, second cumulative number v=vn 10 +VN 11 +VN 12 +VN 13 =1。
Specifically, in order to determine the dividing direction of the second dividing manner, the first accumulated number and the second accumulated number may be compared to obtain a comparison result. If the comparison processing result indicates that the first accumulation number is greater than the second accumulation number, the division decision of the second division mode in the second division direction is terminated, and the first division direction is determined as the division direction of the second division mode. If the comparison processing result indicates that the first accumulation number is smaller than the second accumulation number, terminating the division decision of the second division mode in the first division direction, and determining the second division direction as the division direction of the second division mode.
Optionally, when the first accumulated number is equal to the second accumulated number, any of the first dividing directions or the second dividing directions may be randomly selected as the dividing direction of the second dividing manner.
Alternatively, when the first integrated number is equal to the second integrated number, the number of sub-blocks in the first division direction may be used as the third integrated number, and the number of sub-blocks in the second division direction may be used as the fourth integrated number, among the N sub-blocks. Wherein the third and fourth cumulative numbers are each less than or equal to N. It should be understood that the third and fourth cumulative numbers here only count the current list to be encodedSub-block information when a layer is meta-divided does not count sub-blocks of sub-blocks or sub-block information of deeper layers, so that the third accumulated number and the fourth accumulated number are both smaller than or equal to N. That is, the present application only counts whether the first layer sub-block includes the vertical direction division and the horizontal direction division, and does not count that the first layer sub-block includes several times of the vertical direction division and the horizontal direction division. Wherein. If any one of the m first layer sub-blocks only contains the vertical division, the first accumulation number is added by 1, and if any one of the m first layer sub-blocks contains both the vertical division and the horizontal division, the first accumulation number and the second accumulation number are respectively added by 1. For example, assume that there are 4 first layer sub-blocks, sub-block N 10 ,N 11 ,N 12 And N 13 Wherein, subblock N 10 And N 11 Includes both vertical and horizontal divisions, N 12 And N 13 If only the division in the horizontal direction is included, the first cumulative number corresponding to the horizontal division direction is 4, and the second cumulative number corresponding to the vertical division direction is 2. Therefore, the division direction of the second division manner can be determined according to the third integrated number and the fourth integrated number. For example, the first division direction may be determined as the division direction of the second division manner when the third accumulation amount is greater than the fourth accumulation amount, and the second division direction may be determined as the division direction of the second division manner when the third accumulation amount is less than the fourth accumulation amount.
Optionally, when the first accumulation number is equal to the second accumulation number and the third accumulation number and the fourth accumulation number are obtained through statistics, a sub-block number threshold corresponding to the first division manner may be further obtained, and then the division direction of the second division manner is determined according to the third accumulation number, the fourth accumulation number and the sub-block number threshold. Wherein the first division direction is determined as the division direction of the second division manner when the third integrated number is greater than or equal to the sub-block number threshold, and the second division direction is determined as the division direction of the determined second division manner when the fourth integrated number is greater than or equal to the sub-block number threshold.
Specifically, taking the first division direction as a horizontal division direction and the second division direction as a vertical division direction as an example. If the comparison processing result indicates that the first accumulation number is larger than the second accumulation number, taking the block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining the first optimization division mode by using the block division modes except the first division mode to be optimized in the second division mode. Therefore, when the block division processing is performed on the unit to be encoded by using the second division manner, the division decision of the first division manner to be optimized in the second division manner in the vertical division direction is terminated, and the horizontal division direction corresponding to the first division manner to be optimized is determined as the division direction of the second division manner. Correspondingly, if the comparison processing result indicates that the first accumulation number is smaller than the second accumulation number, taking the block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using the block division modes except the second division mode to be optimized in the second division mode. Therefore, when the block division processing is performed on the unit to be encoded by using the second division manner, the division decision of the second division manner to be optimized in the second division manner in the horizontal division direction is terminated, and the vertical division direction corresponding to the second division manner to be optimized is determined as the division direction of the second division manner.
For example, please refer to fig. 7, wherein the first accumulated number h=hn 10 +HN 11 +HN 12 +HN 13 =3, second cumulative number v=vn 10 +VN 11 +VN 12 +VN 13 =1. Since the first integrated number h=3 > the second integrated number v=1, the division decision of the second division manner in the second division direction can be terminated, and the first division direction can be determined as the division direction of the second division manner. The first division direction is taken as a horizontal direction for division, and the second division direction is taken as a vertical direction for division, so that the division decision of the second division mode in the vertical division direction can be terminated, and the horizontal division direction is determined as the division direction of the second division mode.
For example, referring to fig. 8, fig. 8 is a schematic view of an application scenario for determining a division direction of a second division manner according to an embodiment of the present application. As shown in fig. 8, assuming that the first division manner is BT division, after the first layer division is performed on the unit to be encoded based on BT division, 2 first layer sub-blocks (i.e., n=2) are obtained, thereafter, for each first layer sub-block, an optimal division manner of each first layer sub-block may be determined based on the RDO method, and an optimal division manner of a sub-block for the first layer sub-block (i.e., the second layer sub-block) and a sub-block of a deeper layer may be determined based on the RDO method, and so on, the same thing, the one with the lowest RD cost is finally selected as the division manner with the best division.
It is assumed that an optimal division manner of the whole unit to be encoded, which is obtained by BT division, is determined based on the RDO method, as shown in the unit to be encoded on the left in fig. 8, where line 02 in the unit to be encoded represents BT division, line 03 represents TT division, and line 04 represents ETQ division. The right side of fig. 8 is a corresponding tree representation. Wherein, the first layer subblock N above the unit to be encoded 10 The sub-block division depth dN of (a) 10 =3, first layer subblock N 11 The sub-block division depth dN of (a) 11 =3. Accordingly, the first number in the first division direction (i.e., the horizontal direction) and the second number in the second division direction (i.e., the vertical direction) can be counted within the sub-block division depth of each first layer sub-block, respectively. Wherein, subblock N 10 A first number HN in the horizontal dividing direction 10 =1, subblock N 10 A second number VN in the vertical dividing direction 10 =1. Sub-block N 11 A first number HN in the horizontal dividing direction 11 =2, subblock N 11 A second number VN in the vertical dividing direction 11 =0. Thus, the first cumulative number h=hn can be determined 10 +HN 11 =3, second cumulative number v=vn 10 +VN 11 =1. Since the first integrated number h=3 > the second integrated number v=1, the division decision of the second division manner in the vertical division direction can be terminated, and the second division direction can be determined as the horizontal division direction.
For example, referring to fig. 9, fig. 9 is a schematic view of an application scenario for determining a division direction of a second division manner according to an embodiment of the present application. As shown in fig. 9, it is assumed that the first division manner is TT division, so after performing first layer division on a unit to be encoded based on TT division, 3 first layer sub-blocks (i.e., n=3) are obtained, thereafter, for each first layer sub-block, an optimal division manner of each first layer sub-block may be determined based on the RDO method, and an optimal division manner of sub-blocks for the first layer sub-block (i.e., second layer sub-block) and sub-blocks of a deeper layer may be determined based on the RDO method, and so on, the one with the lowest RD cost is finally selected as the division manner of the best division.
The optimal division manner of the whole unit to be encoded, which is obtained by dividing the first layer sub-block by using the TT, is determined based on the RDO method, as shown in the unit to be encoded on the left in fig. 9, where line 02 in the unit to be encoded represents BT division, line 03 represents TT division, and line 04 represents ETQ division. The right side of fig. 9 is a corresponding tree representation. Wherein, the first layer subblock N above the unit to be encoded 10 The sub-block division depth dN of (a) 10 =3, first layer subblock N 11 The sub-block division depth dN of (a) 11 =2, first layer subblock N 12 The sub-block division depth dN of (a) 12 =1. Accordingly, the first number in the first division direction (i.e., the horizontal direction) and the second number in the second division direction (i.e., the vertical direction) can be counted within the sub-block division depth of each first layer sub-block, respectively. Wherein, subblock N 10 A first number HN in the horizontal dividing direction 10 =1, subblock N 10 A second number VN in the vertical dividing direction 10 =2. Sub-block N 11 A first number HN in the horizontal dividing direction 11 =1, subblock N 11 A second number VN in the vertical dividing direction 11 =0. Sub-block N 12 A first number HN in the horizontal dividing direction 12 =0, subblock N 12 A second number VN in the vertical dividing direction 12 =0. Thus, the first cumulative number h=hn can be determined 10 +HN 11 +HN 12 =2, second cumulative number v=vn 10 +VN 11 +VN 12 =2. Since the first integrated number h=2=the second integrated number v=2, one division direction may be randomly selected from the horizontal division direction or the vertical division direction as the division direction of the second division manner.
For example, a horizontal division direction may be selected as the division direction of the second division manner and division of the second division manner in the vertical division direction may be terminated, and for example, a vertical division direction may be selected as the division direction of the second division manner and division of the second division manner in the horizontal division direction may be terminated. For ease of understanding, the embodiment of the present application will be described by taking a case where a horizontal division direction is randomly selected as a division direction of the second division manner, and division of the second division manner in a vertical division direction is terminated.
Alternatively, the third accumulated number H 'and the fourth accumulated number V' may be further counted in the 3 first layer sub-blocks. That is, among the 3 first layer sub-blocks, the number of sub-blocks in the first division direction is taken as the third cumulative number, and the number of sub-blocks in the second division direction is taken as the fourth cumulative number. As shown in fig. 9, in the TT division, sub-block N is a sub-block of 3 first layer sub-blocks 10 Comprises a division in the horizontal direction and a division in the vertical direction, and a sub-block N 11 Comprises only the division in the horizontal direction, sub-block N 12 Is not further divided, and thus a third cumulative number H' =2 (i.e., sub-block N 10 And sub-block N 11 The horizontal division direction is adopted, so H 'is 2), and the fourth cumulative number V' =1 (i.e., only the sub-block N 10 The vertical division direction is used, so V' is 1). Wherein, since H '=2 > V' =1, the horizontal division direction can be determined as the division direction of the second division manner.
Optionally, after the third cumulative number (H '=2) and the fourth cumulative number (V' =1) are obtained through statistics, the sub-block number threshold T corresponding to the TT dividing manner may be further obtained, and the dividing direction of the second dividing manner may be further determined according to the sub-block number threshold T, the third cumulative number H ', and the fourth cumulative number V'. For example, assuming that the sub-block number threshold t=2, a division direction corresponding to the sub-block number threshold T or more may be determined as the division direction of the second division manner from among the third and fourth integration numbers H 'and V'. Here, since H '=2=t=2 > V' =1, the horizontal division direction is determined as the division direction of the second division manner.
In the embodiment of the application, the block division processing is performed on the unit to be encoded based on the determined first division mode to obtain N sub-blocks. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. The division direction of the second division manner is determined according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
Referring to fig. 10, fig. 10 is a flowchart of a video encoding method according to an embodiment of the present application. The method provided in the embodiment of the present application may be illustrated by the implementation manner provided in the following steps S401 to S409:
s401, acquiring an encoder for video encoding a target image frame in video data, and acquiring at least one image block in the target video frame in the process of video encoding the target image frame by adopting the encoder.
It should be appreciated that video is a sequence of still images (frames) that are played continuously at a rate that allows a person to see a coherent moving image using the persistence of vision characteristics of the person's eye. Therefore, by performing frame disassembly processing on video data or a video sequence (for convenience of description, simply referred to as video), a plurality of video frames that constitute a video, which are also referred to as image frames, can be obtained, and thus a target video frame can be determined from the plurality of video frames that constitute the video. It should be understood that the target video frame is the object of the video encoding at this time. For example, suppose that video frame 1, video frame 2, video frame 3, video frames 4, …, and video frame 99 are obtained after the video data is subjected to the de-framing process. The target video frame is the video frame 1 if the object to be video-encoded is the video frame 1, and the target video frame is the video frame 2 if the object to be video-encoded is the video frame 2.
In some possible embodiments, at least one image block in a target video frame may be acquired during video encoding of the target video frame with an encoder by acquiring the encoder for video encoding the target video frame in video data. It should be appreciated that the block partitioning scheme used by different encoders and the order of execution of the block partitioning schemes are typically different, i.e., the block partitioning strategies are different. Accordingly, when the encoder for video encoding the target image frame in the video data is acquired, it is equivalent to determining each block division manner used in the video encoding process and determining the execution order of each block division manner. Generally, the block division manner includes QT division, BT division, TT division, EQT division, and the like, and is specifically determined according to an actual application scenario, which is not limited herein. For ease of understanding, the encoders employed in the present application all include QT division, BT division, TT division, and EQT division.
S402, obtaining a unit to be encoded from at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on an encoder.
In some possible embodiments, after at least one image block in the target video frame is acquired, the unit to be encoded may be further acquired from the at least one image block. That is, one video frame may be generally divided into at least one CU, also called a picture block or a macroblock, and each CU may be sequentially encoded with the CU as a basic coding unit. In this embodiment, by acquiring any CU (i.e., any image block) from at least one CU (i.e., at least one image block) in the target video frame, the acquired CU (image block) may be used as a unit to be encoded. Wherein, a block division strategy for performing block division processing on the unit to be encoded can be determined based on the encoder. Here, the block division policy includes at least one block division manner and an execution order of each block division manner, and the first division manner is included in the at least one block division manner.
S403, determining a first division mode for carrying out block division processing on a unit to be encoded in the target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded.
S404, traversing and selecting one sub-block from the N sub-blocks as a sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth.
S405, at sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained.
S406, taking the next division mode of the first division mode as a second division mode, and determining the division direction of the second division mode according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction.
The specific implementation manner of the steps S403 to S406 may refer to the descriptions of the steps S301 to S304 in the corresponding embodiment of fig. 4, and the description thereof will not be repeated here.
S407, determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded.
In some possible embodiments, the dividing direction of the second dividing manner is determined as a target dividing direction, and after the block dividing processing is performed on the unit to be encoded according to the second dividing manner corresponding to the target dividing direction, M sub-blocks of the unit to be encoded are obtained. The M sub-blocks all belong to the first layer sub-blocks in the second coding tree corresponding to the second division mode. The value of M is the number of sub-blocks on the first layer sub-block in the second coding tree, and M is determined by the second partitioning means. For example, it is assumed that the current encoder includes QT division, BT division, TT division, and EQT division, and the encoding order is qt→bt→tt→eqt. If the first division mode is QT division, the second division mode is BT division. Assuming that the division direction (target division direction) of the second division manner is determined to be a horizontal division based on QT division, it is possible to determine the second division manner as a binary division (i.e., horizontal binary division) of the horizontal division direction. Thus, when the unit to be encoded is divided based on horizontal binary division, 2 sub-blocks (i.e., m=2) can be obtained.
The second coding tree is a coding tree corresponding to the second division mode, and the second coding tree includes information of dividing a unit to be coded into M first layer sub-blocks based on the second division mode, and further includes information of dividing the first layer sub-blocks into second layer sub-blocks, and dividing the second layer sub-blocks into third layer sub-blocks and deeper layer sub-blocks. It should be understood that, the second division manner in the embodiment of the present application is also a division manner for dividing the unit to be encoded into the first layer sub-blocks, and the subsequent division for each first layer sub-block, and the division of the sub-blocks of the first layer sub-block (for convenience of description, abbreviated as the second layer sub-block), and the division of the sub-blocks of the first sub-block (for convenience of description, abbreviated as the third layer sub-block), and the division of the even deeper sub-blocks will not be limited by the second division manner.
S408, determining first rate distortion costs of the N sub-blocks in the first coding tree, and determining second rate distortion costs of the M sub-blocks in the second coding tree.
In some possible implementations, a first rate-distortion cost for the N sub-blocks is determined in a first encoding tree and a second rate-distortion cost for the M sub-blocks is determined in a second encoding tree. The first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded. It should be understood that the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded by a dividing method and the unit to be encoded obtained by encoding the divided sub-blocks. That is, for the first division manner, the rate distortion cost (i.e., the first rate distortion cost) of each of the N first layer sub-blocks divided based on the first division manner may be calculated to obtain N first rate distortion costs. For the second division manner, a rate distortion cost (i.e., a second rate distortion cost) of each of the M first layer sub-blocks divided based on the second division manner may be calculated, so as to obtain M second rate distortion costs.
S409, determining a division mode with the minimum rate distortion cost in the first division mode and the second division mode based on the sum of the first rate distortion cost of the N sub-blocks and the sum of the second rate distortion cost of the M sub-blocks, and determining the determined division mode with the minimum rate distortion cost as a target division mode.
In some possible embodiments, when determining the first rate-distortion cost (i.e., N first rate-distortion costs) corresponding to each of the N sub-blocks and the M second rate-distortion costs (i.e., M second rate-distortion costs) corresponding to each of the M sub-blocks, determining a division manner with a minimum rate-distortion cost from the first division manner and the second division manner based on the sum of the first rate-distortion costs of the N sub-blocks and the sum of the second rate-distortion costs of the M sub-blocks, and then taking the determined division manner with the minimum rate-distortion cost as the target division manner. That is, the sum of the N first rate-distortion costs and the sum of the M second rate-distortion costs may be compared, and then a division manner having the smallest rate-distortion cost may be determined from the first division manner and the second division manner, so as to determine the determined division manner having the smallest rate-distortion cost as the target division manner.
For example, it is assumed that the encoding order of the current encoder is qt→bt→tt→eqt, wherein the first division manner is QT division (i.e., n=4), and the target division direction determined based on QT division is horizontal division, and thus the second division manner can be determined as horizontal binary division (i.e., m=2). The first rate distortion cost of each first layer sub-block in 4 first layer sub-blocks obtained by QT division is respectively 1-1, 1-2, 1-3 and 1-4, and the second rate distortion cost of each first layer sub-block in 2 first layer sub-blocks obtained by BT division based on the horizontal direction is respectively 2-1 and 2-2. Thus, the sum of 4 first rate-distortion costs (i.e., cost 1-1+cost 1-2+cost 1-3+cost 1-4) corresponding to the 4 sub-blocks may be determined as the unit to be encoded rate-distortion cost corresponding to the QT partition, and the sum of 2 second rate-distortion costs (i.e., cost 2-1+cost 2-2) corresponding to the 2 sub-blocks may be determined as the unit to be encoded rate-distortion cost corresponding to the QT partition. Furthermore, a division mode with the minimum rate distortion cost can be determined from the first division mode and the second division mode, and the determined division mode with the minimum rate distortion cost is determined as a target division mode. That is, the target division is the best division determined from the first division and the second division. Further, the second division manner may be used as a new first division manner, and the implementation process described in the above steps S401 to S409 may be performed until each division manner is tried, and then the final optimal division manner of the unit to be encoded is determined. Furthermore, the finally determined optimal division mode can be used for carrying out coding prediction on the unit to be coded subsequently so as to find a prediction block corresponding to the coding unit, and coding is carried out based on the difference of content change degrees between the prediction block and the coding unit.
In general, there is only one partition execution order for one encoder, and QT, BT, TT, and EQT can be sequentially used as the first partition, assuming that the execution order of the 4 partitions in one encoder is qt→bt→tt→eqt. Thus, the partition direction of BT may be determined by QT, the partition direction of TT may be determined by BT, and the partition direction of EQT may be determined by EQT. Finally, a partitioning mode with the minimum RD cost can be determined from the 4 partitioning modes to be used as a final optimal partitioning mode of the unit to be encoded.
For example, please refer to fig. 11, fig. 11 is a schematic diagram of an application scenario of the partition decision provided in the embodiment of the present application. As shown in fig. 11, the encoder used in the present application is assumed to be executed in the order qt→bt→tt→eqt. Then QT is first taken as a first partitioning method, where after the first layer partitioning is performed on the unit to be encoded based on QT partitioning, 4 first layer sub-blocks (i.e., n=4) are obtained, and then, for each first layer sub-block and sub-blocks of a deeper layer, the optimal partitioning method of each sub-block may be determined based on the RDO method. For example, assume that the division presented in fig. 11 (1) is the optimal division of the entire unit to be encoded in the case where the first layer sub-block is obtained based on QT division. Thus, the first cumulative number h=3 and the second cumulative number v=1 can be statistically obtained. Since h=3 > v=1, the division direction of the second division manner can be determined as the horizontal division. That is, when the first division manner is QT division, the horizontal direction may be determined as the division direction when the second division manner (i.e., BT division), that is, the second division manner is horizontal binary division (as shown in fig. 11 (2), the unit to be encoded is horizontally divided into 2 first layer sub-blocks). Further, the horizontal division of BT is determined as the first division manner, and assuming that the division manner presented in fig. 11 (2) is the optimal division manner of the entire unit to be encoded in the case where the first layer sub-block is obtained based on BT division. Therefore, the BT division may be statistically obtained with the first cumulative number h=3 and the second cumulative number v=1. Since h=3 > v=1, the division direction of the second division manner can be determined as the horizontal division. That is, when the first division manner is BT division, the horizontal direction may be determined as the division direction when the second division manner (i.e., TT division), that is, the second division manner is horizontal three-fork division (as shown in fig. 11 (3)), the unit to be encoded is horizontally divided into 3 first layer sub-blocks. Further, the horizontal division of TT is determined as the first division manner, and assuming that the division manner presented in fig. 11 (3) is the optimal division manner of the entire unit to be encoded in the case where the first layer sub-block is obtained based on the TT division. Thus, the first cumulative number h=2 and the second cumulative number v=2 in the TT division can be statistically obtained. Since h=2=v=2, the third integrated number=2 and the fourth integrated number=1 can be further counted, and thus the division direction of the second division manner can be determined as the horizontal division. That is, when the first division manner is TT division, the horizontal direction may be determined as the division direction when the second division manner (i.e., EQT division), i.e., the second division manner is horizontal extension quad division, as shown in fig. 11 (4), the unit to be encoded is divided into 4 first layer sub-blocks based on the horizontal extension quad division manner.
In the embodiment of the application, the block division processing is performed on the unit to be encoded based on the determined first division mode to obtain N sub-blocks. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. The division direction of the second division manner is determined according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction. Further, determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded. First rate-distortion costs for the N sub-blocks are determined in a first encoding tree and second rate-distortion costs for the M sub-blocks are determined in a second encoding tree. Based on the sum of the first rate-distortion costs of the N sub-blocks and the sum of the second rate-distortion costs of the M sub-blocks, determining a division mode with the minimum rate-distortion cost from the first division mode and the second division mode, and determining the determined division mode with the minimum rate-distortion cost as a target division mode. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
Referring to fig. 12, fig. 12 is a schematic structural diagram of a video encoding apparatus according to an embodiment of the present application. The video coding device provided by the embodiment of the application comprises:
a first block division processing module 51, configured to determine a first division manner for performing block division processing on a unit to be encoded in a target video frame, and perform block division processing on the unit to be encoded according to the first division manner, so as to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
a subblock division depth determination module 52 for traversing and selecting one subblock from the N subblocks as subblock N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is determined by a sub-division manner associated with the sub-block N1 i; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
a sub-block number statistics module 53, configured to, in the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction, until each of the N sub-blocks is traversed, obtaining the first number in the first division direction and the second number in the second division direction for each of the sub-blocks;
a division direction determining module 54, configured to determine a division direction of the second division manner according to a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction, with a next division manner of the first division manner being a second division manner; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
Referring to fig. 13, fig. 13 is a schematic structural diagram of a video encoding device according to an embodiment of the present application.
In some possible embodiments, the apparatus further comprises:
an image block obtaining module 55, configured to obtain an encoder for video encoding a target image frame in video data, and obtain at least one image block in the target video frame in a process of video encoding the target image frame using the encoder;
A block division policy determining module 56, configured to obtain a unit to be encoded from the at least one image block, and determine, based on the encoder, a block division policy for performing a block division process on the unit to be encoded; the block partitioning strategy includes at least the first partitioning approach.
In some possible implementations, the partition direction determination module 54 includes:
a second division manner determining unit 541, configured to use a next division manner of the first division manner as a second division manner based on a block division policy corresponding to the encoding unit; the second division is different from the first division;
a first cumulative number determining unit 542 configured to determine a first cumulative number of the N sub-blocks in the first division direction according to the first number of each sub-block in the first division direction;
a second cumulative number determining unit 543 configured to determine a second cumulative number of the N sub-blocks in the second division direction according to the second number of each sub-block in the second division direction;
a division direction determining unit 544, configured to determine a division direction of the second division manner according to the first accumulated number and the second accumulated number; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded.
In some possible implementations, the division direction determining unit 544 includes:
a comparison processing subunit 5441, configured to perform a comparison process on the first accumulated number and the second accumulated number to obtain a comparison processing result;
a first comparison result processing subunit 5442, configured to terminate a division decision of the second division manner in the second division direction if the comparison result indicates that the first accumulated number is greater than the second accumulated number, and determine the first division direction as a division direction of the second division manner;
a second comparison result processing subunit 5443, configured to terminate the division decision of the second division manner in the first division direction if the comparison result indicates that the first accumulated number is smaller than the second accumulated number, and determine the second division direction as the division direction of the second division manner.
In some possible embodiments, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the first comparison result processing subunit 5442 is specifically configured to:
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining a first optimization division mode by using block division modes except the first division mode to be optimized in the second division mode;
And when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the first division mode to be optimized in the second division mode in the vertical division direction, and determining the horizontal division direction corresponding to the first division mode to be the division direction of the second division mode.
In some possible embodiments, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the second comparison result processing subunit 5443 specifically is configured to:
if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using block division modes except the second division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the second division mode to be optimized in the second division modes in the horizontal division direction, and determining the vertical division direction corresponding to the second division mode to be the division direction of the second division mode.
In some possible embodiments, the first division is a quadtree division; the second division mode is one of a binary tree division mode, a three-fork tree division mode and an extended four-fork tree division mode;
the apparatus further comprises:
a second block division processing module 57, configured to determine a division direction of the second division manner as a target division direction, perform a block division process on the unit to be encoded according to the second division manner corresponding to the target division direction, and then obtain M sub-blocks of the unit to be encoded; the M sub-blocks all belong to a first layer sub-block in a second coding tree corresponding to the second division mode; the M is the number of sub-blocks on a first layer sub-block in the second coding tree, and is determined by the second partitioning manner;
a rate-distortion cost determination module 58 configured to determine a first rate-distortion cost for the N sub-blocks in the first encoding tree and a second rate-distortion cost for the M sub-blocks in the second encoding tree; the first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded; the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded and the unit to be encoded by dividing the sub-blocks after dividing by adopting a dividing mode;
A minimum rate-distortion cost determination module 59, configured to determine a division manner with a minimum rate-distortion cost from the first division manner and the second division manner based on a sum of first rate-distortion costs of the N sub-blocks and a sum of second rate-distortion costs of the M sub-blocks;
the target division mode determining module 510 is configured to determine the determined division mode with the minimum rate distortion cost as a target division mode; and carrying out coding prediction on the unit to be coded based on the target division mode.
In the embodiment of the application, the video encoding device may acquire at least one image block in the target video frame in the process of performing video encoding on the target image frame by adopting the encoder by acquiring the encoder for performing video encoding on the target image frame in the video data. And acquiring a unit to be encoded from at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on the encoder. Determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame from the block division strategy, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded. The N sub-blocks belong to first layer sub-blocks in a first coding tree corresponding to the first division mode. N is the number of sub-blocks on the first layer sub-block in the first coding tree and is determined by the first partitioning scheme. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. The sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme. The division direction of the sub-division manner includes a first division direction and a second division direction. i is a non-negative integer less than N. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. Will beThe next division pattern of the first division pattern is used as a second division pattern, and the division direction of the second division pattern is determined according to the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction. The dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and the unit to be encoded is subjected to block dividing processing. The second division is different from the first division. Further, determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded. First rate-distortion costs for the N sub-blocks are determined in a first encoding tree and second rate-distortion costs for the M sub-blocks are determined in a second encoding tree. Based on the sum of the first rate-distortion costs of the N sub-blocks and the sum of the second rate-distortion costs of the M sub-blocks, determining a division mode with the minimum rate-distortion cost from the first division mode and the second division mode, and determining the determined division mode with the minimum rate-distortion cost as a target division mode. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
Referring to fig. 14, fig. 14 is a schematic structural diagram of a terminal device provided in an embodiment of the present application. As shown in fig. 14, the terminal device in the present embodiment may include: one or more processors 401, memory 402, and a transceiver 403. The processor 401, the memory 402, and the transceiver 403 are connected by a bus 404. The memory 402 is used for storing a computer program comprising program instructions, and the processor 401 is used for executing the program instructions stored in the memory 402 for performing the following operations:
determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
traversing and selecting one sub-block from the N sub-blocks as a sub-block N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
at the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction, until each of the N sub-blocks is traversed, obtaining the first number in the first division direction and the second number in the second division direction for each of the sub-blocks;
taking the next division mode of the first division mode as a second division mode, and determining the division direction of the second division mode according to the first quantity of each sub-block in the first division direction and the second quantity of each sub-block in the second division direction; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
In some possible embodiments, the processor 401 is configured to:
Acquiring an encoder for video encoding a target image frame in video data, and acquiring at least one image block in the target video frame in the process of video encoding the target image frame by adopting the encoder;
acquiring a unit to be encoded from the at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on the encoder; the block partitioning strategy includes at least the first partitioning approach.
In some possible embodiments, the processor 401 is configured to:
based on a block division strategy corresponding to the coding unit, taking the next division mode of the first division mode as a second division mode; the second division is different from the first division;
determining a first accumulated number of the N sub-blocks in the first division direction according to the first number of each sub-block in the first division direction;
determining a second accumulated number of the N sub-blocks in the second division direction according to the second number of each sub-block in the second division direction;
determining a division direction of the second division mode according to the first accumulation number and the second accumulation number; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded.
In some possible embodiments, the processor 401 is configured to:
comparing the first accumulated number with the second accumulated number to obtain a comparison result;
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, terminating the division decision of the second division mode in the second division direction, and determining the first division direction as the division direction of the second division mode;
and if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, terminating the division decision of the second division mode in the first division direction, and determining the second division direction as the division direction of the second division mode.
In some possible embodiments, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the processor 401 is configured to:
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining a first optimization division mode by using block division modes except the first division mode to be optimized in the second division mode;
And when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the first division mode to be optimized in the second division mode in the vertical division direction, and determining the horizontal division direction corresponding to the first division mode to be the division direction of the second division mode.
In some possible embodiments, the first division direction is a horizontal division direction, and the second division direction is a vertical division direction;
the processor 401 is configured to:
if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using block division modes except the second division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the second division mode to be optimized in the second division modes in the horizontal division direction, and determining the vertical division direction corresponding to the second division mode to be the division direction of the second division mode.
In some possible embodiments, the first division is a quadtree division; the second division mode is one of a binary tree division mode, a three-fork tree division mode and an extended four-fork tree division mode;
the processor 401 is configured to:
determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded; the M sub-blocks all belong to a first layer sub-block in a second coding tree corresponding to the second division mode; the M is the number of sub-blocks on a first layer sub-block in the second coding tree, and is determined by the second partitioning manner;
determining first rate-distortion costs of the N sub-blocks in the first coding tree, and determining second rate-distortion costs of the M sub-blocks in the second coding tree; the first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded; the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded and the unit to be encoded by dividing the sub-blocks after dividing by adopting a dividing mode;
Determining a division mode with the minimum rate distortion cost in the first division mode and the second division mode based on the sum of the first rate distortion cost of the N sub-blocks and the sum of the second rate distortion cost of the M sub-blocks;
determining the determined division mode with the minimum rate distortion cost as a target division mode; and carrying out coding prediction on the unit to be coded based on the target division mode.
It should be appreciated that in some possible embodiments, the processor 601 may be a central processing unit (central processing unit, CPU), which may also be other general purpose processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC), off-the-shelf programmable gate arrays (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The memory 602 may include read only memory and random access memory, and provides instructions and data to the processor 601. A portion of the memory 602 may also include non-volatile random access memory. For example, the memory 602 may also store information of device type.
In a specific implementation, the terminal device may execute, through each function module built in the terminal device, an implementation manner provided by each step in fig. 4 and fig. 10, and specifically, the implementation manner provided by each step may be referred to, which is not described herein again.
In the embodiment of the application, the terminal device may acquire at least one image block in the target video frame in the process of performing video encoding on the target image frame by adopting the encoder by acquiring the encoder for performing video encoding on the target image frame in the video data. And acquiring a unit to be encoded from at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on the encoder. Determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame from the block division strategy, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded. The N sub-blocks belong to first layer sub-blocks in a first coding tree corresponding to the first division mode. N is the number of sub-blocks on the first layer sub-block in the first coding tree and is determined by the first partitioning scheme. Traversing and selecting one sub-block from N sub-blocks as sub-block N 1i Determining sub-block N in a first coding tree 1i Is divided into sub-blocks of depth. The sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme. The division direction of the sub-division manner includes a first division direction and a second division direction. i is a non-negative integer less than N. At sub-block N 1i Within the sub-block division depth of (2), determining sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the first number in the first division direction and the second number in the second division direction for each sub-block are obtained. Taking the next division mode of the first division mode as a second division mode, according to the first quantity of each sub-block in the first division direction and the second division modeThe upward second number determines a division direction of the second division manner. The dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and the unit to be encoded is subjected to block dividing processing. The second division is different from the first division. Further, determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded. First rate-distortion costs for the N sub-blocks are determined in a first encoding tree and second rate-distortion costs for the M sub-blocks are determined in a second encoding tree. Based on the sum of the first rate-distortion costs of the N sub-blocks and the sum of the second rate-distortion costs of the M sub-blocks, determining a division mode with the minimum rate-distortion cost from the first division mode and the second division mode, and determining the determined division mode with the minimum rate-distortion cost as a target division mode. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced. By adopting the embodiment of the application, the time for video coding can be reduced, and the coding complexity can be reduced.
The embodiments of the present application further provide a computer readable storage medium, where a computer program is stored, where the computer program includes program instructions, and when executed by a processor, implement the video encoding method provided by each step in fig. 4 and fig. 10, and specifically refer to the implementation manner provided by each step, which is not described herein again.
The computer readable storage medium may be the video encoding apparatus provided in any one of the foregoing embodiments or an internal storage unit of the terminal device, for example, a hard disk or a memory of an electronic device. The computer readable storage medium may also be an external storage device of the electronic device, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a flash card (flash card) or the like, which are provided on the electronic device. Further, the computer-readable storage medium may also include both an internal storage unit and an external storage device of the electronic device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.
The terms "first," "second," "third," "fourth," and the like in the claims and in the description and drawings of the present application, are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments. The term "and/or" as used in this specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations. Those of ordinary skill in the art will appreciate that the elements and algorithm steps described in connection with the embodiments disclosed herein may be embodied in electronic hardware, in computer software, or in a combination of the two, and that the elements and steps of the examples have been generally described in terms of function in the foregoing description to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The methods and related devices provided in the embodiments of the present application are described with reference to the method flowcharts and/or structure diagrams provided in the embodiments of the present application, and each flowchart and/or block of the method flowcharts and/or structure diagrams may be implemented by computer program instructions, and combinations of flowcharts and/or blocks in the flowchart and/or block diagrams. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or structural diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or structures.

Claims (10)

1. A method of video encoding, the method comprising:
determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
traversing and selecting one sub-block from the N sub-blocks as a sub-block N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
at the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction, until each of the N sub-blocks is traversed, obtaining the first number in the first division direction and the second number in the second division direction for each of the sub-blocks;
Taking the next division mode of the first division mode as a second division mode, and determining the division direction of the second division mode according to the first quantity of each sub-block in the first division direction and the second quantity of each sub-block in the second division direction; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
2. The method of claim 1, wherein prior to the determining the first partitioning means for block partitioning of the units to be encoded in the target video frame, the method further comprises:
acquiring an encoder for video encoding a target image frame in video data, and acquiring at least one image block in the target video frame in the process of video encoding the target image frame by adopting the encoder;
acquiring a unit to be encoded from the at least one image block, and determining a block division strategy for performing block division processing on the unit to be encoded based on the encoder; the block partitioning strategy includes at least the first partitioning approach.
3. The method according to claim 1, wherein the determining the division direction of the second division manner based on the first number of each sub-block in the first division direction and the second number of each sub-block in the second division direction using the next division manner of the first division manner as the second division manner comprises:
based on a block division strategy corresponding to the coding unit, taking the next division mode of the first division mode as a second division mode; the second division is different from the first division;
determining a first accumulated number of the N sub-blocks in the first division direction according to the first number of each sub-block in the first division direction;
determining a second accumulated number of the N sub-blocks in the second division direction according to the second number of each sub-block in the second division direction;
determining a division direction of the second division mode according to the first accumulation number and the second accumulation number; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded.
4. The method of claim 3, wherein the determining the division direction of the second division manner according to the first cumulative number and the second cumulative number comprises:
comparing the first accumulated number with the second accumulated number to obtain a comparison result;
if the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, terminating the division decision of the second division mode in the second division direction, and determining the first division direction as the division direction of the second division mode;
and if the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, terminating the division decision of the second division mode in the first division direction, and determining the second division direction as the division direction of the second division mode.
5. The method of claim 4, wherein the first division direction is a horizontal division direction and the second division direction is a vertical division direction;
if the comparison result indicates that the first accumulated number is greater than the second accumulated number, terminating the division decision of the second division manner in the second division direction, and determining the first division direction as the division direction of the second division manner, including:
If the comparison processing result indicates that the first accumulated number is larger than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a first division mode to be optimized in the second division mode, and determining a first optimization division mode by using block division modes except the first division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the first division mode to be optimized in the second division mode in the vertical division direction, and determining the horizontal division direction corresponding to the first division mode to be the division direction of the second division mode.
6. The method of claim 4, wherein the first division direction is a horizontal division direction and the second division direction is a vertical division direction;
if the comparison result indicates that the first accumulated number is smaller than the second accumulated number, terminating the division decision of the second division manner in the first division direction, and determining the second division direction as the division direction of the second division manner, including:
If the comparison processing result indicates that the first accumulated number is smaller than the second accumulated number, taking a block division mode corresponding to the vertical division direction as a second division mode to be optimized in the second division mode, and determining a second optimization division mode by using block division modes except the second division mode to be optimized in the second division mode;
and when the second division mode is used for carrying out block division processing on the unit to be encoded, terminating the division decision of the second division mode to be optimized in the second division modes in the horizontal division direction, and determining the vertical division direction corresponding to the second division mode to be the division direction of the second division mode.
7. The method of any of claims 1-6, wherein the first partitioning is a quadtree partitioning; the second division mode is one of a binary tree division mode, a three-fork tree division mode and an extended four-fork tree division mode;
the method further comprises the steps of:
determining the dividing direction of the second dividing mode as a target dividing direction, and performing block dividing processing on the unit to be encoded according to the second dividing mode corresponding to the target dividing direction to obtain M sub-blocks of the unit to be encoded; the M sub-blocks all belong to a first layer sub-block in a second coding tree corresponding to the second division mode; the M is the number of sub-blocks on a first layer sub-block in the second coding tree, and is determined by the second partitioning manner;
Determining first rate-distortion costs of the N sub-blocks in the first coding tree, and determining second rate-distortion costs of the M sub-blocks in the second coding tree; the first rate distortion cost and the second rate distortion cost are the sum of the coding code rate and the image distortion rate of the unit to be coded; the image distortion rate is the image distortion rate between the unit obtained by dividing the unit to be encoded and the unit to be encoded by dividing the sub-blocks after dividing by adopting a dividing mode;
determining a division mode with the minimum rate distortion cost in the first division mode and the second division mode based on the sum of the first rate distortion cost of the N sub-blocks and the sum of the second rate distortion cost of the M sub-blocks;
determining the determined division mode with the minimum rate distortion cost as a target division mode; and carrying out coding prediction on the unit to be coded based on the target division mode.
8. A video encoding device, the device comprising:
the first block division processing module is used for determining a first division mode for carrying out block division processing on a unit to be encoded in a target video frame, and carrying out block division processing on the unit to be encoded according to the first division mode to obtain N sub-blocks of the unit to be encoded; the N sub-blocks belong to a first layer sub-block in a first coding tree corresponding to the first division mode; the N is the number of sub-blocks on a first layer sub-block in the first coding tree, and is determined by the first division mode;
A subblock division depth determining module for traversing and selecting one subblock from the N subblocks as subblock N 1i Determining the subblock N in the first encoding tree 1i Is divided into sub-blocks of depth; the sub-block division depth is defined by the sub-block N 1i The associated subdivision scheme; the division direction of the sub-division mode comprises a first division direction and a second division direction; the i is a non-negative integer less than the N;
a sub-block number statistics module, configured to, in the sub-block N 1i Within the sub-block division depth of (2), determining the sub-block N 1i A first number in the first division direction and a second number in the second division direction until each of the N sub-blocks is traversed, the each sub-block being obtained in the first division directionAnd a second number of said each sub-block in said second partition direction;
a division direction determining module, configured to determine a division direction of the second division manner according to a first number of each sub-block in the first division direction and a second number of each sub-block in the second division direction, with a next division manner of the first division manner being a second division manner; the dividing direction of the second dividing mode is used for indicating the encoder corresponding to the unit to be encoded, and performing block dividing processing on the unit to be encoded; the second division is different from the first division.
9. A terminal device comprising a processor and a memory, said processor and memory being interconnected;
the memory is for storing a computer program comprising program instructions, the processor being configured to invoke the program instructions to perform the method of any of claims 1-7.
10. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program comprising program instructions which, when executed by a processor, cause the processor to perform the method of any of claims 1-7.
CN202011302700.8A 2020-11-19 2020-11-19 Video encoding method, video encoding device, terminal equipment and storage medium Active CN114520916B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011302700.8A CN114520916B (en) 2020-11-19 2020-11-19 Video encoding method, video encoding device, terminal equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011302700.8A CN114520916B (en) 2020-11-19 2020-11-19 Video encoding method, video encoding device, terminal equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114520916A CN114520916A (en) 2022-05-20
CN114520916B true CN114520916B (en) 2024-02-23

Family

ID=81594101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011302700.8A Active CN114520916B (en) 2020-11-19 2020-11-19 Video encoding method, video encoding device, terminal equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114520916B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114938453B (en) * 2022-07-19 2022-09-30 深流微智能科技(深圳)有限公司 Video coding method, chip, storage medium and computer equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294599A (en) * 2019-03-13 2020-06-16 北京达佳互联信息技术有限公司 Video decoding method, video encoding method and device
CN111698504A (en) * 2019-03-11 2020-09-22 杭州海康威视数字技术股份有限公司 Encoding method, decoding method and device
CN111901602A (en) * 2020-08-07 2020-11-06 北京奇艺世纪科技有限公司 Video data encoding method, video data encoding device, computer equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698504A (en) * 2019-03-11 2020-09-22 杭州海康威视数字技术股份有限公司 Encoding method, decoding method and device
CN111294599A (en) * 2019-03-13 2020-06-16 北京达佳互联信息技术有限公司 Video decoding method, video encoding method and device
CN111901602A (en) * 2020-08-07 2020-11-06 北京奇艺世纪科技有限公司 Video data encoding method, video data encoding device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN114520916A (en) 2022-05-20

Similar Documents

Publication Publication Date Title
US20190110045A1 (en) Position-dependent prediction combinations in video coding
CN107113425A (en) Method for video coding and equipment and video encoding/decoding method and equipment
CN109510987B (en) Method and device for determining coding tree node division mode and coding equipment
CN108307192A (en) Division methods, encoding device and the decoding device of prediction block
CN114520916B (en) Video encoding method, video encoding device, terminal equipment and storage medium
US20190182503A1 (en) Method and image processing apparatus for video coding
US7680351B2 (en) Video deblocking method and apparatus
CN110278443B (en) Context modeling method and device for dividing zone bits
CN113347416B (en) Chroma intra prediction method and device, and computer storage medium
CN110324668B (en) Transform method in image block coding, inverse transform method and device in decoding
CN111654696B (en) Intra-frame multi-reference-line prediction method and device, storage medium and terminal
CN114520917B (en) Video encoding method, video encoding device, terminal equipment and storage medium
CN116866591A (en) Image coding method and device, computer equipment and medium
CN112511843B (en) Video encoding method, video encoding device, terminal device and storage medium
CN112437307B (en) Video coding method, video coding device, electronic equipment and video coding medium
CN115118990A (en) Chroma prediction method, device, encoding device, decoding device and storage medium
US20220021874A1 (en) Systems and methods for image coding
US10187656B2 (en) Image processing device for adjusting computational complexity of interpolation filter, image interpolation method, and image encoding method
KR102116985B1 (en) Method of intra refresh for encoding video
CN113395516B (en) Intra-frame prediction method and device, and computer readable storage medium
US20160105672A1 (en) System and Method for Depth Map Coding for Smooth Depth Map Area
CN111869211B (en) Image encoding device and method
CN114071138A (en) Intra-frame prediction encoding method, intra-frame prediction encoding device, and computer-readable medium
US20170188035A1 (en) Transcoding method and electronic apparatus
CN113612992B (en) Encoding method of fast intra-frame encoding unit for AVS3 hardware encoder

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant