CN116723328A - Video coding method, device, equipment and storage medium - Google Patents

Video coding method, device, equipment and storage medium Download PDF

Info

Publication number
CN116723328A
CN116723328A CN202310731425.9A CN202310731425A CN116723328A CN 116723328 A CN116723328 A CN 116723328A CN 202310731425 A CN202310731425 A CN 202310731425A CN 116723328 A CN116723328 A CN 116723328A
Authority
CN
China
Prior art keywords
block
coding
encoding
similarity
coding block
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.)
Pending
Application number
CN202310731425.9A
Other languages
Chinese (zh)
Inventor
郑羽珊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202310731425.9A priority Critical patent/CN116723328A/en
Publication of CN116723328A publication Critical patent/CN116723328A/en
Pending legal-status Critical Current

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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

Landscapes

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

Abstract

The disclosure relates to a video coding method, a device, equipment and a storage medium, relates to the technical field of Internet, and can solve the problem of relatively complex calculation in the video coding process. The video encoding method comprises the following steps: dividing a coding frame for displaying screen content to obtain at least one coding block; acquiring characteristic information of any one of at least one coding block; the characteristic information includes: size information of any one coding block and similarity between any one coding block and a corresponding matching block; when the characteristic information of any one coding block meets a preset coding condition, determining the any one coding block as a first coding block; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size; the first encoded block is encoded.

Description

Video coding method, device, equipment and storage medium
Technical Field
The disclosure relates to the technical field of internet, and in particular relates to a video coding method, a video coding device, video coding equipment and a storage medium.
Background
Efficient video coding (high efficiency video coding, HEVC) is used to save storage and bandwidth costs by compressing video signals. With the development of applications such as mobile devices, remote desktops, virtual desktops and wireless display, screen contents generated by the devices are more various and complex, so that HEVC-based screen content coding (HEVC-screen content coding, HEVC-SCC) is developed, a coding structure and a coding tool are inherited, and meanwhile, a new coding tool suitable for the screen contents, such as a palette (palette), intra Block Copy (IBC) and the like, are added, and the quality of video coding is effectively guaranteed.
However, the addition of coding tools introduces numerous coding modes, making it necessary for the HEVC encoder to traverse each coding mode and attempt to code to find the best coding mode. In the process of coding each coding mode, a series of operations with high complexity such as intra/inter prediction, motion estimation, motion compensation, entropy coding and the like are required to be performed, so that the compression performance is greatly improved, and meanwhile, the computational complexity in the process of coding the whole frame of image is improved, and the efficiency of video coding is reduced. Therefore, there is a need in the art for a video coding method that reduces the computational complexity while substantially maintaining the video compression efficiency and coding quality.
Disclosure of Invention
The disclosure provides a video coding method, a device, equipment and a storage medium, which are used for solving the problems of small transformation angle and weak stereoscopic impression when reconstructing a monocular image.
The technical scheme of the embodiment of the disclosure is as follows:
according to a first aspect of an embodiment of the present disclosure, there is provided a video encoding method, including: dividing a coding frame for displaying screen content to obtain at least one coding block; acquiring characteristic information of any one of at least one coding block; the characteristic information includes: size information of any one coding block and similarity between any one coding block and a corresponding matching block; when the characteristic information of any one coding block meets a preset coding condition, determining the any one coding block as a first coding block; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size; the first encoded block is encoded.
Optionally, the video coding method further includes: dividing the second coding block to obtain a plurality of coding blocks until the characteristic information of any one coding block in the plurality of coding blocks meets the coding condition; the second code block is the other code blocks except the first code block in the at least one code block.
Optionally, before obtaining the feature information of any one of the at least one coding block, the video coding method further includes: motion estimation is carried out on any coding block, and a motion vector is obtained; based on the motion vector, a matching block of any one of the encoded blocks is determined from the target search range of the reference frame.
Optionally, the video coding method further includes: updating the initial search range of the second coding block in the reference frame to a target search range; the target search range is smaller than the initial search range.
Optionally, the video coding method further includes: and when the similarity between the coded frame and the reference frame is smaller than a preset second similarity, performing filtering operation on the original signal after the coded frame is coded to obtain a reconstructed signal.
Optionally, any one of the encoding blocks includes at least one pixel block divided in advance; the method for obtaining the similarity between any one coding block and the corresponding matching block comprises the following steps: obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame; and determining the similarity between any one coding block and the corresponding matching block according to the similarity between at least one pixel block and the corresponding co-located pixel block in the reference frame.
Optionally, the method for obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame includes: dividing the encoded frame to obtain a plurality of pixel blocks; the size of each pixel block is smaller than or equal to the size of any one coding block; and determining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel value of the encoded frame and the pixel value in the reference frame.
According to a second aspect of embodiments of the present disclosure, there is provided a video encoding apparatus including: the device comprises a dividing unit, an acquisition unit, a processing unit and an encoding unit; a dividing unit configured to perform division of the encoded frames for displaying the screen contents to obtain at least one encoded block; an acquisition unit configured to perform acquisition of feature information of any one of the at least one encoding block; the characteristic information includes: size information of any one coding block and similarity between any one coding block and a corresponding matching block; a processing unit configured to perform determining any one of the encoding blocks as a first encoding block when the characteristic information of the any one of the encoding blocks satisfies a preset encoding condition; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size; and an encoding unit configured to perform encoding of the first encoding block.
Optionally, the dividing unit is further configured to perform: dividing the second coding block to obtain a plurality of coding blocks until the characteristic information of any one coding block in the plurality of coding blocks meets the coding condition; the second code block is the other code blocks except the first code block in the at least one code block.
Optionally, the video encoding device further includes: a matching unit; a matching unit configured to perform: motion estimation is carried out on any coding block, and a motion vector is obtained; based on the motion vector, a matching block of any one of the encoded blocks is determined from the target search range of the reference frame.
Optionally, the matching unit is further configured to perform: updating the initial search range of the second coding block in the reference frame to a target search range; the target search range is smaller than the initial search range.
Optionally, the encoding unit is further configured to perform: and when the similarity between the coded frame and the reference frame is smaller than a preset second similarity, performing filtering operation on the original signal after the coded frame is coded to obtain a reconstructed signal.
Optionally, any one of the encoding blocks includes at least one pixel block divided in advance; an acquisition unit specifically configured to perform: obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame; and determining the similarity between any one coding block and the corresponding matching block according to the similarity between at least one pixel block and the corresponding co-located pixel block in the reference frame.
Optionally, the acquiring unit is specifically configured to perform: dividing the encoded frame to obtain a plurality of pixel blocks; the size of each pixel block is smaller than or equal to the size of any one coding block; and determining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel value of the encoded frame and the pixel value in the reference frame.
According to a third aspect of embodiments of the present disclosure, there is provided a video encoding apparatus, which may include: a processor and a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement any of the alternative video encoding methods of the first aspect described above.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium having instructions stored thereon, which when executed by a processor of a video encoding apparatus, enable the video encoding apparatus to perform the video encoding method of any one of the above-described alternatives of the first aspect.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer program product comprising instructions which, when run on a processor of an electronic device, cause the electronic device to perform any of the alternative video encoding methods of the first aspect described above.
The technical scheme provided by the disclosure at least brings the following beneficial effects:
based on any one of the above aspects, in the present disclosure, after the encoded frame for displaying the screen content is acquired, the encoded frame may be divided to obtain at least one encoded block, and then feature information of any one of the at least one encoded block is acquired. When the characteristic information of any one of the encoding blocks satisfies a preset encoding condition, any one of the encoding blocks may be determined as a first encoding block, and the first encoding block may be encoded.
Wherein the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of the first coding block is smaller than or equal to the preset minimum size.
When the size of any one coding block is larger than or equal to the preset macro block size and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, the current coding block is represented as a static frame, the image details of the region are less, for example, a large-area filling region in the image background, and the influence of the current coding block on the whole frame compression quality is lower, so that the current coding block can be directly coded.
When the size of any one coding block is smaller than or equal to the preset minimum size, the image detail of the area where the current coding block is located is rich, so that the coding block with the minimum size is selected to be coded, and the video coding quality is ensured.
The scheme provided by the disclosure can reduce the computational complexity in the whole frame image coding process and effectively improve the coding efficiency on the premise of not affecting the video coding quality.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure and do not constitute an undue limitation on the disclosure.
FIG. 1 shows a schematic diagram of a recursive partitioning of coding blocks provided by an embodiment of the present disclosure;
FIG. 2 illustrates a schematic diagram of a video encoding framework provided by an embodiment of the present disclosure;
FIG. 3 shows a schematic diagram of a video encoding system provided by an embodiment of the present disclosure;
fig. 4 shows a flowchart of a video encoding method according to an embodiment of the disclosure;
fig. 5 shows a second flowchart of a video encoding method according to an embodiment of the disclosure;
Fig. 6 shows a third flowchart of a video encoding method according to an embodiment of the disclosure;
fig. 7 shows a flowchart of a video encoding method according to an embodiment of the present disclosure;
fig. 8 shows a fifth flowchart of a video encoding method according to an embodiment of the present disclosure;
fig. 9 shows a flowchart sixth of a video encoding method according to an embodiment of the present disclosure;
fig. 10 shows a seventh flowchart of a video encoding method according to an embodiment of the disclosure;
fig. 11 shows a flowchart eighth of a video encoding method according to an embodiment of the disclosure;
fig. 12 is a schematic structural diagram of a video encoding apparatus according to an embodiment of the present disclosure;
fig. 13 shows a second schematic structural diagram of a video encoding apparatus according to an embodiment of the disclosure.
Detailed Description
In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the foregoing figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be capable of operation in sequences other than those illustrated or described herein. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as detailed in the accompanying claims.
It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, and/or components.
The data referred to in this disclosure may be data authorized by the user or sufficiently authorized by the parties.
The prior art to which the present disclosure relates is explained below.
1. Screen content coding (HEVC-screen content coding, HEVC-SCC) based on efficient video coding (high efficiency video coding, HEVC).
In recent years, as high-definition and ultra-high-definition video applications move into the field of view, video compression technology has received a great challenge. In addition, a wide variety of video applications continue to emerge with the development of networks and storage technologies. The diversification and high definition trend of video applications place higher demands on video compression performance. For this reason, a new generation of video coding standard, the HEVC standard, also known as h.265, is established.
The HEVC coding standard is coded according to the temporal and spatial correlation of naturally acquired image sequences. But the screen content image includes not only the camera capturing content but also a large number of computer generated graphics and text. This results in screen content images with different characteristics including high contrast, limited number of colors, more flat, repeated areas, more high frequency content, etc., which makes them less than ideal with HEVC standard coding. In this regard, according to the screen content characteristics, the HEVC-SCC standard is extended on the basis of the HEVC coding standard, and the standardization work of the HEVC-SCC standard is basically completed in 2016. The coding complexity of the HEVC standard is approximately 2 to 3 times that of the previous generation coding standard h.264/AVC, while the SCC standard adds coding tools such as Intra Block Copy (IBC), palette (PLT) mode, adaptive Color Transform (ACT), adaptive Motion Vector Resolution (AMVR), etc., resulting in a further increase in coding complexity.
The intra coding complexity of SCC is mainly focused on the partitioning of the coded blocks and intra prediction mode selection. SCC also employs flexible block partitioning modes including Coding Units (CUs), prediction Units (PUs), transform Units (TUs). As shown in fig. 1, CU sizes are 64×64, 32×32, 16×16, 8×8, and the partition depths are 0, 1, 2, and 3, respectively. Where 64 x 64 CUs are defined as Coding Tree Units (CTUs), each CTU can be recursively divided into 4 equal-sized CUs, up to the smallest CU (8 x 8), using a quadtree partitioning structure. In order to find the optimal CU partitioning scheme, the encoder has to consider all the partitioning cases.
2. Video coding framework
As shown in fig. 2, in the video encoding process, for any frame image, the frame image is divided into a plurality of encoding units, and the frame image is input into an encoder for encoding prediction. And then, subtracting the matching block from the corresponding coding block to obtain a residual block, and respectively carrying out transformation and quantization on the residual block to obtain quantized transformation coefficients.
Here, the transform may include a Discrete Cosine Transform (DCT), a Fast Fourier Transform (FFT), and the like. Quantization is a common technique in the field of digital signal processing and refers to a process of approximating a continuous value (or a large number of possible discrete values) of a signal to a finite number (or fewer) of discrete values. The quantization process is mainly applied to the conversion from a continuous signal to a digital signal, the continuous signal is sampled into a discrete signal, and the discrete signal is quantized into the digital signal.
Then, entropy encoding is carried out on the quantized transformation coefficient, and a part of the code stream is obtained and output. And performing inverse quantization and inverse transformation on the quantized transformation coefficient to obtain a reconstructed residual block, and adding the reconstructed residual block and the predicted block to obtain a reconstructed image.
The reconstructed image is processed by deblocking filtering (de blocking filter, DB) and adaptive pixel compensation (sample adaptive offset, SAO), added to a reference frame queue, and used as a theoretical reference frame for the next frame image. The above steps are performed cyclically so that video images can be encoded frame by frame.
As described in the background, the addition of coding tools introduces numerous coding modes, requiring the HEVC encoder to traverse each coding mode and attempt to encode to find the best coding mode. In the process of coding each coding mode, a series of operations with high complexity such as intra/inter prediction, motion estimation, motion compensation, entropy coding and the like are required to be performed, so that the compression performance is greatly improved, and meanwhile, the computational complexity in the process of coding the whole frame of image is improved, and the efficiency of video coding is reduced. Therefore, there is a need in the art for a video coding method that reduces the computational complexity while substantially maintaining the video compression efficiency and coding quality.
Based on this, the embodiment of the present disclosure provides a video encoding method, after acquiring an encoded frame for displaying screen content, the encoded frame may be divided to obtain at least one encoded block, and then feature information of any one of the at least one encoded block is acquired. When the characteristic information of any one of the encoding blocks satisfies a preset encoding condition, any one of the encoding blocks may be determined as a first encoding block, and the first encoding block may be encoded.
Wherein the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of the first coding block is smaller than or equal to the preset minimum size.
When the size of any one coding block is larger than or equal to the preset macro block size and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, the current coding block is represented as a static frame, the image details of the region are less, for example, a large-area filling region in the image background, and the influence of the current coding block on the whole frame compression quality is lower, so that the current coding block can be directly coded.
When the size of any one coding block is smaller than or equal to the preset minimum size, the image detail of the area where the current coding block is located is rich, so that the coding block with the minimum size is selected to be coded, and the video coding quality is ensured.
The scheme provided by the disclosure can reduce the computational complexity in the whole frame image coding process and effectively improve the coding efficiency on the premise of not affecting the video coding quality.
The following describes an exemplary video encoding method provided by an embodiment of the present disclosure with reference to the accompanying drawings:
fig. 3 is a schematic diagram of a video coding system according to an embodiment of the disclosure, where, as shown in fig. 3, the video coding system may include: encoding side 301 and decoding side 302.
Alternatively, the video coding system may include at least one coding side and at least one decoding side. Any one of the at least one encoding end may be connected to any one of the at least one decoding end by wireless or wired means for communication. For ease of understanding, the presently disclosed embodiments are described with reference to "an interconnection between an encoding end 301 and a decoding end 302".
The encoding end 301 may encode inter prediction information of an encoding unit of an original video frame to obtain encoded data, and then transmit the encoded data to the decoding end 302. The decoding end 302 receives the encoded data and decodes the encoded data to obtain inter prediction information of the coding unit, thereby obtaining an original video frame.
The encoding end 301 and the decoding end 302 may be devices such as a mobile phone or a computer.
In some embodiments, the encoding end 301 and the decoding end 302 may be a device for video processing, a chip in the device, or a system on a chip in the device. The device may be a cell phone, tablet, palm top, personal computer (personal computer, PC), wearable device, smart tv, etc.
Note that, the encoding end 301 and the decoding end 302 may be referred to as an electronic device.
The video encoding method provided by the embodiment of the present disclosure may be applied to the encoding end 301 in the application scenario shown in fig. 3.
As shown in fig. 4, the video encoding method may include:
s401, dividing the coding frames for displaying the screen content by the coding end to obtain at least one coding block.
The video encoding method in the embodiment of the disclosure is not used if the encoded frame is any frame image in the video to be encoded, and the video encoding method in the embodiment of the disclosure may be used if the encoded frame is not the first frame image in the video to be encoded.
Alternatively, the coding block may be selected according to the size of the coding frame and the actual requirement, for example, the coding block may be selected as 32×32, 64×64, 128×128, etc.
In one implementation, the encoding end may divide the encoded frame according to any possible division, for example, in connection with fig. 1, the encoding end may obtain the encoded block by recursively dividing 64×64 into 4 32×32 and 32×32 into 4 16×16.
S402, the encoding end obtains the characteristic information of any one encoding block in at least one encoding block.
Wherein the characteristic information includes: size information of any one of the encoded blocks, and similarity between any one of the encoded blocks and a corresponding matching block.
Alternatively, any one of the encoded blocks includes at least one pixel block divided in advance, for example, a 64×64 encoded block may include 16 16×16 pixel blocks.
In one implementation manner, the method for obtaining the similarity between any one coding block and the corresponding matching block by the coding end may include: the encoding end may determine the similarity between each encoding block and the corresponding matching block according to the similarity between each pixel block and the corresponding co-located pixel block in the reference frame.
S403, when the characteristic information of any one coding block meets the preset coding condition, the coding end determines any one coding block as a first coding block.
Wherein the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size.
In one implementation, when the proportion of the similar blocks in any one coding block to all the pixel blocks is greater than a preset ratio, the similarity between the current coding block and the corresponding matching block may be considered to be greater than the first similarity. Otherwise, when the proportion of the similar blocks in any one coding block to all the pixel blocks is smaller than or equal to a preset ratio, the similarity between the current coding block and the corresponding matching block can be considered to be smaller than or equal to the first similarity.
Specifically, when the size of any one coding block is greater than or equal to the preset macroblock size and the similarity between any one coding block and the corresponding matching block is greater than the preset first similarity, the current coding block can be directly coded, and the dividing process is skipped, so that the calculation step is simplified.
In one implementation manner, when the size of any one coding block is smaller than the preset size, the coding blocks of any one coding block can be repeatedly divided to obtain a plurality of coding blocks with the smallest sizes, and more image details can be reserved to ensure the video coding quality.
S404, the encoding end encodes the first encoding block.
In one implementation manner, the encoding end can perform encoding in any macroblock encoding mode, for example, skip mode, and the encoding calculation amount is small because no motion vector residual exists in Skip mode and no pixel prediction residual exists.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as can be seen from S401 to S404, after the encoded frame for displaying the screen content is acquired, the encoded frame may be divided to obtain at least one encoded block, and then the feature information of any one of the at least one encoded block is acquired. When the characteristic information of any one of the encoding blocks satisfies a preset encoding condition, any one of the encoding blocks may be determined as a first encoding block, and the first encoding block may be encoded.
Wherein the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of the first coding block is smaller than or equal to the preset minimum size.
When the size of any one coding block is larger than or equal to the preset macro block size and the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, the current coding block is represented as a static frame, the image details of the region are less, for example, a large-area filling region in the image background, and the influence of the current coding block on the whole frame compression quality is lower, so that the current coding block can be directly coded.
When the size of any one coding block is smaller than or equal to the preset minimum size, the image detail of the area where the current coding block is located is rich, so that the coding block with the minimum size is selected to be coded, and the video coding quality is ensured.
The scheme provided by the disclosure can reduce the computational complexity in the whole frame image coding process and effectively improve the coding efficiency on the premise of not affecting the video coding quality.
In an alternative embodiment, this embodiment provides one possible implementation on the basis of the method embodiment shown in fig. 4. Referring to fig. 4, as shown in fig. 5, the video encoding method further includes:
s501, the coding end divides the second coding block to obtain a plurality of coding blocks until the characteristic information of any one coding block in the plurality of coding blocks meets the coding condition.
The second coding block is other coding blocks except the first coding block in at least one coding block.
In one implementation, the encoding end may divide the second encoding block according to any possible division manner, for example, in conjunction with fig. 1, the encoding end may obtain a plurality of encoding blocks by recursively dividing 64×64 into 4 32×32 and 32×32 into 4 16×16.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as shown in S501, the encoding end may divide the second encoding block that does not meet the encoding condition to obtain a plurality of encoding blocks until the feature information of any encoding block in the plurality of encoding blocks meets the encoding condition. Compared with the general technology, the method and the device can divide the coding blocks more flexibly, and can effectively reduce the dividing times by taking the satisfied coding conditions as the limit of the division ending, thereby reducing the calculated amount and improving the coding efficiency.
In an alternative embodiment, the present embodiment provides a possible implementation manner based on the embodiment of the method shown in fig. 5 before the encoding end obtains the feature information of any one of the at least one encoding block. As shown in fig. 6, the video encoding method further includes:
S601, the coding end carries out motion estimation on any coding block to obtain a motion vector.
In one implementation, when motion estimation is performed on any one of the encoding blocks, whole-pixel motion and sub-pixel motion estimation may be performed based on the reference frame, respectively, and motion vectors of any one of the encoding blocks may be recorded.
In one implementation manner, in order to improve accuracy of motion estimation, multiple reference frames may be selected to perform motion estimation, and at this time, the computational complexity of motion estimation is increased, so the number of reference frames needs to be controlled to be a preset number, so that the computational complexity and accuracy can be compromised when performing whole-pixel motion and quarter-pixel motion estimation, respectively.
S602, the encoding end determines a matching block of any encoding block from a target search range of a reference frame based on the motion vector.
In one implementation, since motion may be directed to sub-pixel locations, the motion estimation process for any one code block may be performed in two steps: searching in the target searching range to obtain the integer pixel matching block most similar to the current coding block. Then, the pixel of the sub-pixel position can be obtained by using the pixel interpolation of the whole pixel position, and then the sub-pixel matching block which is most similar to the current coding block is obtained by searching in the target searching range.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as can be seen from S601-S602, the encoding end may perform motion estimation on any one of the encoding blocks to obtain a motion vector, and determine a matching block of any one of the encoding blocks from a target search range of the reference frame based on the motion vector. The present disclosure provides a method of determining a matching block of any one of encoding blocks such that a similarity between any one of encoding blocks and a corresponding matching block is subsequently determined based on the matching block.
In an alternative embodiment, this embodiment provides one possible implementation on the basis of the method embodiment shown in fig. 6. Referring to fig. 6, as shown in fig. 7, the video encoding method further includes:
s701, the encoding end updates the initial searching range of the second encoding block in the reference frame into a target searching range.
Wherein the target search range is smaller than the initial search range.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as known from S701, the encoding end may update the initial search range of the second encoding block in the reference frame to the target search range. The method reduces the search range of the matching block of the second coding block which does not meet the coding conditions, reduces the search amount, can effectively reduce the calculation complexity of video coding, improves the video coding efficiency, and has the characteristics of high coding quality, strong adaptability and the like.
In an alternative embodiment, this embodiment provides one possible implementation on the basis of the method embodiment shown in fig. 4. Referring to fig. 4, as shown in fig. 8, the video encoding method further includes:
s801, when the similarity between the coding frame and the reference frame is smaller than a preset second similarity, the coding end performs filtering operation on the original signal coded by the coding frame to obtain a reconstruction signal.
In one implementation manner, when the proportion of the first coding block in the coding frame to all the coding blocks is greater than a preset ratio, the similarity between the coding frame and the reference frame may be considered to be smaller than the preset second similarity and greater than the second similarity, that is, the similarity range between the coding frame and the reference frame is larger. Therefore, the error of the video coding based on the inter prediction is small, so that the filtering operation can be omitted to reduce the calculation amount.
On the contrary, when the proportion of the first coding block in the coding frame to all the coding blocks is smaller than or equal to the preset ratio, the similarity between the coding frame and the reference frame is considered to be smaller than or equal to the preset second similarity, i.e. the similarity range between the coding frame and the reference frame is smaller. Therefore, the error of video coding based on inter-frame prediction is large, for example, the phenomenon that the edges are waved after decoding is caused due to quantization distortion of high-frequency alternating current coefficients of the coded signals, so that the coding end can perform filtering operation on the original signals in a DB or SAO mode to eliminate influence and improve video coding quality.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as shown in S801, when the similarity between the encoded frame and the reference frame is smaller than the preset second similarity, the encoding end performs a filtering operation on the original signal encoded by the encoded frame to obtain a reconstructed signal. The method for selectively performing filtering processing can effectively reduce the calculated amount and ensure the video coding quality.
In an alternative embodiment, this embodiment provides one possible implementation on the basis of the method embodiment shown in fig. 4, when any one of the encoded blocks comprises at least one pixel block divided in advance. Referring to fig. 4, as shown in fig. 9, in S402, a method for obtaining a similarity between any one of the coding blocks and a corresponding matching block by the coding end includes:
s901, the encoding end obtains the similarity between each pixel block and the corresponding co-located pixel block in the reference frame.
In one implementation, the encoding end may determine the similarity between each pixel block and the corresponding co-located pixel block in the reference frame in advance, so that the subsequent divided encoded blocks may determine the similarity directly from the pixel blocks without determining multiple times from the reference frame.
S902, the encoding end determines the similarity between any encoding block and the corresponding matching block according to the similarity between at least one pixel block and the corresponding co-located pixel block in the reference frame.
In one implementation manner, when the number of pixel blocks, of all the pixel blocks, having a similarity greater than the preset similarity value with respect to the corresponding co-located pixel blocks is greater than the preset number, it means that most of the pixel blocks in the encoding block are similar to the corresponding matching blocks, and therefore the encoding block is also similar to the corresponding matching blocks, and therefore, the similarity between the encoding block and the corresponding matching blocks may be considered to be greater than the first similarity.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as known from S901-S902, the encoding end may obtain the similarity between each pixel block and the corresponding co-located pixel block in the reference frame, and determine the similarity between each encoding block and the corresponding matching block according to the similarity between each pixel block and the corresponding co-located pixel block in the reference frame. Compared with the common technology that the similarity of the coding blocks needs to be calculated again according to the reference frames after each division, the method provided by the invention can effectively reduce the calculated amount and improve the coding efficiency.
In an alternative embodiment, this embodiment provides one possible implementation on the basis of the method embodiment shown in fig. 9. As shown in fig. 10, the video encoding method further includes:
s1001, dividing the coded frame by the coding end to obtain a plurality of pixel blocks.
Wherein the size of each pixel block is smaller than or equal to the size of any one of the encoding blocks.
Alternatively, the pixel block may be selected according to the size of the encoded frame and the actual requirement, for example, the pixel block may be selected to be 8×8, 16×16, etc., and in this embodiment, only 16×16 is taken as an example for illustration.
S1002, the encoding end determines the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel value of the encoding frame and the pixel value in the reference frame.
In one implementation manner, the encoding end may determine a sum of differences between the absolute value of the pixel value of each pixel point in any one pixel block and the absolute value of the pixel value of each pixel point in the corresponding co-located pixel block, and when the sum is greater than or equal to a value that may be preset, the current pixel block may be considered as a similar block. Otherwise, when the sum is smaller than the preset value, the current pixel block is considered to be a dissimilar block.
The technical scheme provided by the embodiment at least brings the following beneficial effects: as can be seen from S1001 to S1002, the encoding end may divide the encoded frame to obtain a plurality of pixel blocks, and determine the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel values of the encoded frame and the pixel values in the reference frame. The method can divide a plurality of pixel blocks in the coding frame in advance and determine the corresponding similarity, so that the similarity of the coding blocks can be determined through the similarity of the pixel blocks no matter how the coding blocks in the coding unit are divided later.
An exemplary description of an embodiment of the present disclosure is provided below in connection with fig. 11.
S1, dividing the coding end to obtain a plurality of 16 multiplied by 16 pixel blocks, and obtaining a similarity result of each pixel block.
The similarity result is used for representing the similarity between each pixel block and the corresponding co-located pixel block in the reference frame.
The encoding end can determine the sum of the absolute value of the pixel value of each pixel point in any pixel block and the difference between the absolute value of the pixel value of each pixel point in the corresponding co-located pixel block, and when the sum is larger than or equal to a preset value, the current pixel block can be considered as a similar block. Otherwise, when the sum is smaller than the preset value, the current pixel block is considered to be a dissimilar block.
S2, dividing the coding end to obtain a current coding block.
The current coding block size that can be obtained by the first division may be set to 64×64.
S3, the encoding end determines whether the size of the current encoding block is larger than or equal to the preset macroblock size.
If the size of the current coding block is greater than or equal to the macroblock size, S4 is performed.
And if the size of the current coding block is smaller than the macroblock size, executing S5.
S4, the coding end determines whether pixel blocks in the current coding block are all similar blocks.
If the pixel block in the current coding block is the similar block, the current coding block is the similar coding block, and S6 is executed.
If the pixel block in the current coding block includes a dissimilar block, repeating S2 to divide the current coding block into smaller coding blocks.
S5, the encoding end determines whether the size of the current encoding block is smaller than or equal to a preset minimum size.
If the size of the current coding block is less than or equal to the minimum size, S6 is performed.
If the size of the current coding block is greater than the minimum size, S2 is repeatedly performed to divide the current coding block into smaller coding blocks.
S6, the encoding end encodes the current encoding block to obtain an original signal after encoding the encoding frame.
S7, the coding end determines whether the ratio of the similar coding blocks to all the coding blocks in the coding frame is larger than a preset ratio.
If the ratio of the similar coding blocks to all the coding blocks is larger than the preset ratio, ending the video coding.
And if the ratio of the similar coding blocks to all the coding blocks is smaller than or equal to the preset ratio, executing S8.
S8, the encoding end performs filtering operation on the original signal to obtain a reconstructed signal, and video encoding is finished.
It will be appreciated that, in practical implementation, the video encoding apparatus according to the embodiments of the present disclosure may include one or more hardware structures and/or software modules for implementing the corresponding video encoding method, where the executing hardware structures and/or software modules may constitute an electronic device. Those of skill in the art will readily appreciate that the algorithm steps of the examples described in connection with the embodiments disclosed herein may be implemented as hardware or a combination of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware 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 disclosure.
Based on such understanding, the embodiments of the present disclosure also correspondingly provide a video encoding apparatus. Fig. 12 shows a schematic structural diagram of a video encoding apparatus according to an embodiment of the present disclosure. As shown in fig. 12, the video encoding apparatus includes: a dividing unit 1201, an acquiring unit 1202, a processing unit 1203, and an encoding unit 1204.
A dividing unit 1201 configured to perform dividing the encoded frame for displaying the screen content to obtain at least one encoded block.
An acquisition unit 1202 configured to perform acquisition of feature information of any one of the at least one encoding block; the characteristic information includes: size information of any one of the encoded blocks, and similarity between any one of the encoded blocks and a corresponding matching block.
A processing unit 1203 configured to perform determination of any one of the encoding blocks as a first encoding block when the feature information of the any one of the encoding blocks satisfies a preset encoding condition; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size.
An encoding unit 1204 configured to perform encoding of the first encoding block.
Optionally, the dividing unit 1201 is further configured to perform: dividing the second coding block to obtain a plurality of coding blocks until the characteristic information of any one coding block in the plurality of coding blocks meets the coding condition; the second code block is the other code blocks except the first code block in the at least one code block.
Optionally, the video encoding device further includes: a matching unit 1205; a matching unit 1205 configured to perform: motion estimation is carried out on any coding block, and a motion vector is obtained; based on the motion vector, a matching block of any one of the encoded blocks is determined from the target search range of the reference frame.
Optionally, the matching unit 1205 is further configured to perform: updating the initial search range of the second coding block in the reference frame to a target search range; the target search range is smaller than the initial search range.
Optionally, the encoding unit 1204 is further configured to perform: and when the similarity between the coded frame and the reference frame is smaller than a preset second similarity, performing filtering operation on the original signal after the coded frame is coded to obtain a reconstructed signal.
Optionally, any one of the encoding blocks includes at least one pixel block divided in advance; the acquisition unit 1202 is specifically configured to perform: obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame; and determining the similarity between any one coding block and the corresponding matching block according to the similarity between at least one pixel block and the corresponding co-located pixel block in the reference frame.
Optionally, the acquiring unit 1202 is specifically configured to perform: dividing the encoded frame to obtain a plurality of pixel blocks; the size of each pixel block is smaller than or equal to the size of any one coding block; and determining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel value of the encoded frame and the pixel value in the reference frame.
As described above, the embodiments of the present disclosure may divide functional modules of a video encoding apparatus according to the above-described method examples. The integrated modules may be implemented in hardware or in software functional modules. In addition, it should be further noted that the division of the modules in the embodiments of the present disclosure is merely a logic function division, and other division manners may be implemented in practice. For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated in one processing module.
The specific manner in which each module performs the operation and the beneficial effects of the video encoding apparatus in the foregoing embodiment are described in detail in the foregoing method embodiment, and are not described herein again.
The embodiment of the disclosure also provides a video encoding device. Fig. 13 shows a second schematic structural diagram of a video encoding apparatus according to an embodiment of the disclosure. The video encoding device may include at least one processor 221, a communication bus 222, a memory 223, and at least one communication interface 224.
The processor 221 may be a central processing unit (central processing units, CPU), a microprocessor unit, ASIC, or one or more integrated circuits for controlling the execution of the programs of the present disclosure.
Communication bus 222 may include a path to transfer information between the aforementioned components.
Communication interface 224, using any transceiver-like device, is used to communicate with other devices or communication networks, such as electronic devices, ethernet, radio access network (radio access network, RAN), wireless local area network (wireless local area networks, WLAN), etc.
The memory 223 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM), a compact disc read-only memory (compact disc read-only memory) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory may be stand alone and be connected to the processing unit by a bus. The memory may also be integrated with the processing unit.
Wherein the memory 223 is used to store application code for performing aspects of the present disclosure and is controlled by the processor 221 for execution. The processor 221 is configured to execute application code stored in the memory 223 to implement the functions in the methods of the present disclosure.
In a particular implementation, as one embodiment, the processor 221 may include one or more central processors, such as central processor 0 and central processor 1 in FIG. 13.
In a specific implementation, as an embodiment, the video encoding apparatus may include a plurality of processors, such as the processor 221 and the processor 225 in fig. 13. Each of these processors may be a single-core (single-CPU) processor or may be a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In a specific implementation, as an embodiment, the video encoding apparatus may further include an input device 226 and an output device 227. The input device 226 and the output device 227 communicate and may accept user input in a variety of ways. For example, the input device 226 may be a mouse, a keyboard, a touch screen device, a sensing device, or the like. The output device 227 communicates with the processor 221 and may display information in a variety of ways. For example, the output device 227 may be a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, or the like.
It will be appreciated by those skilled in the art that the structure shown in fig. 13 is not limiting of the video encoding apparatus and may include more or fewer components than shown, or may combine certain components, or may employ a different arrangement of components.
The present disclosure also provides a computer-readable storage medium including instructions stored thereon, which when executed by a processor of a video encoding apparatus, enable the video encoding apparatus to perform the video encoding method provided by the above-described illustrated embodiments. For example, the computer readable storage medium may be a memory 223 including instructions executable by the processor 221 of the video encoding device to perform the above-described method.
Alternatively, the computer readable storage medium may be a non-transitory computer readable storage medium, for example, a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
The present disclosure also provides a computer program product containing instructions that, when run on an electronic device, cause the electronic device to perform the video encoding method provided by the above-described illustrated embodiments.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A video encoding method, comprising:
dividing a coding frame for displaying screen content to obtain at least one coding block;
acquiring characteristic information of any one of the at least one coding block; the characteristic information includes: the size information of any one coding block and the similarity between any one coding block and the corresponding matching block;
When the characteristic information of any one coding block meets a preset coding condition, determining the any one coding block as a first coding block; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size;
the first encoded block is encoded.
2. The video coding method of claim 1, further comprising:
dividing the second coding block to obtain a plurality of coding blocks until the characteristic information of any one coding block in the plurality of coding blocks meets the coding condition; the second coding block is the other coding blocks except the first coding block in the at least one coding block.
3. The video coding method according to claim 2, wherein before the feature information of any one of the at least one coding block is obtained, further comprising
Performing motion estimation on any one coding block to obtain a motion vector;
And determining the matching block of any coding block from the target search range of the reference frame based on the motion vector.
4. The video coding method of claim 3, further comprising:
updating an initial search range of the second coding block in the reference frame to the target search range; the target search range is smaller than the initial search range.
5. The video coding method of claim 1, further comprising:
and when the similarity between the encoded frame and the reference frame is smaller than a preset second similarity, performing filtering operation on the original signal after the encoded frame is encoded to obtain a reconstructed signal.
6. The video coding method according to claim 1, wherein the arbitrary one of the coding blocks includes at least one pixel block divided in advance; obtaining the similarity between any one coding block and the corresponding matching block comprises the following steps:
obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame;
and determining the similarity between any one coding block and the corresponding matching block according to the similarity between the at least one pixel block and the corresponding co-located pixel block in the reference frame.
7. The method according to claim 6, wherein the obtaining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame comprises:
dividing the encoded frame to obtain a plurality of pixel blocks; the size of each pixel block is smaller than or equal to the size of any one coding block;
and determining the similarity between each pixel block and the corresponding co-located pixel block in the reference frame according to the pixel value of the coding frame and the pixel value in the reference frame.
8. A video encoding apparatus, comprising: the device comprises a dividing unit, an acquisition unit, a processing unit and an encoding unit;
the dividing unit is configured to perform dividing of the coding frames for displaying the screen content to obtain at least one coding block;
the acquisition unit is configured to perform acquisition of characteristic information of any one of the at least one coding block; the characteristic information includes: the size information of any one coding block and the similarity between any one coding block and the corresponding matching block;
the processing unit is configured to determine the any one of the encoding blocks as a first encoding block when the characteristic information of the any one of the encoding blocks meets a preset encoding condition; the encoding conditions include: the size of any one coding block is larger than or equal to the preset macro block size, the similarity between any one coding block and the corresponding matching block is larger than the preset first similarity, or the size of any one coding block is smaller than or equal to the preset minimum size;
The encoding unit is configured to perform encoding of the first encoding block.
9. An electronic device, the electronic device comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the video coding method of any of claims 1-7.
10. A computer readable storage medium having instructions stored thereon, which when executed by a processor of an electronic device, cause the electronic device to perform the video encoding method of any of claims 1-7.
CN202310731425.9A 2023-06-19 2023-06-19 Video coding method, device, equipment and storage medium Pending CN116723328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310731425.9A CN116723328A (en) 2023-06-19 2023-06-19 Video coding method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310731425.9A CN116723328A (en) 2023-06-19 2023-06-19 Video coding method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116723328A true CN116723328A (en) 2023-09-08

Family

ID=87864329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310731425.9A Pending CN116723328A (en) 2023-06-19 2023-06-19 Video coding method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116723328A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117440157A (en) * 2023-09-26 2024-01-23 书行科技(北京)有限公司 Video coding method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117440157A (en) * 2023-09-26 2024-01-23 书行科技(北京)有限公司 Video coding method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US10382781B2 (en) Interpolation filters for intra prediction in video coding
US10771809B2 (en) Picture prediction method and picture prediction apparatus
JP6334006B2 (en) System and method for high content adaptive quality restoration filtering for video coding
CN112087629B (en) Image prediction method, device and computer readable storage medium
JP6980911B2 (en) Limited memory access window for improved motion vector
CN104125466B (en) A kind of HEVC parallel decoding methods based on GPU
CN111819853A (en) Signaling residual symbols for prediction in transform domain
JPWO2012176381A1 (en) Image decoding apparatus and image decoding method
JP2011229145A (en) Method of performing hybrid multi-hypothesis prediction in moving picture encoding by encoding unit, and related device
CN118200560A (en) Early termination of optical flow correction
US20240098255A1 (en) Video picture component prediction method and apparatus, and computer storage medium
CN116723328A (en) Video coding method, device, equipment and storage medium
US20220060702A1 (en) Systems and methods for intra prediction smoothing filter
CN116114246B (en) Intra-frame prediction smoothing filter system and method
CN115398897B (en) Method and device for deriving temporal motion information
CN112565767B (en) Video decoding method, video encoding method and related equipment
WO2024077553A1 (en) Video encoding method and apparatus, video decoding method and apparatus, device, system, and storage medium
WO2023044919A1 (en) Video encoding and decoding method, device and system, and storage medium
CN117014614A (en) Coding mode determining method, device, equipment and storage medium
WO2023125631A1 (en) Code block processing method, video encoding method and apparatus, video decoding method and apparatus, medium, and computer device
US20220060734A1 (en) Intra prediction methods in video coding
CN111226438B (en) Video decoding method and decoder
CN114554195A (en) Image processing method, apparatus and storage medium
CN114979628A (en) Image block prediction sample determining method and coding and decoding equipment

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