CN110677676A - Video encoding method and apparatus, video decoding method and apparatus, and storage medium - Google Patents

Video encoding method and apparatus, video decoding method and apparatus, and storage medium Download PDF

Info

Publication number
CN110677676A
CN110677676A CN201910927119.6A CN201910927119A CN110677676A CN 110677676 A CN110677676 A CN 110677676A CN 201910927119 A CN201910927119 A CN 201910927119A CN 110677676 A CN110677676 A CN 110677676A
Authority
CN
China
Prior art keywords
resolution
block
decoded
region
pixel
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.)
Granted
Application number
CN201910927119.6A
Other languages
Chinese (zh)
Other versions
CN110677676B (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 CN201910927119.6A priority Critical patent/CN110677676B/en
Publication of CN110677676A publication Critical patent/CN110677676A/en
Application granted granted Critical
Publication of CN110677676B publication Critical patent/CN110677676B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

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

Abstract

The invention discloses a video encoding method and device, a video decoding method and device and a storage medium. Wherein, the method comprises the following steps: under the condition that the initial resolution of a reconstructed block of a decoded block of a video frame to be decoded is higher than a first resolution a x b adopted by the block to be decoded of the video frame to be decoded during decoding, directly adjusting the resolution of the reconstructed block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image; determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching; determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to the first MV corresponding to the UV value of the block to be decoded; and determining the UV value of the pixel point obtained after the decoding of the block to be decoded according to the UV value of the pixel point in the first pixel region.

Description

Video encoding method and apparatus, video decoding method and apparatus, and storage medium
Technical Field
The present invention relates to the field of computers, and in particular, to a video encoding method and apparatus, a video decoding method and apparatus, and a storage medium.
Background
Currently, in the process of video encoding, a video frame in a video may be divided into a plurality of blocks to be encoded respectively. Before encoding the current block, the current block may be pre-analyzed for encoding by referring to the encoded block to determine encoding parameter information of the current block. For ease of processing, different blocks of a frame in a video are typically encoded with uniform resolution.
However, in the way of encoding and decoding different blocks in one frame with uniform resolution, there is a problem of distortion verification due to mismatch of resolution and transmission bandwidth. Even if different resolutions are adopted for different blocks, the relative relationship between each block and its reference block is dynamic, which makes it difficult to determine the relative position of the block to be coded and its reference block, and further affects the efficiency and effect of coding and decoding.
Therefore, the related art adopts different resolutions for different blocks in a frame to perform coding and decoding, which causes the problems of low coding and decoding efficiency and poor decoding effect caused by difficult determination of the relative position of the block to be coded and the reference block thereof.
Disclosure of Invention
Embodiments of the present invention provide a video encoding method and apparatus, a video decoding method and apparatus, and a storage medium, so as to at least solve the technical problems of low encoding and decoding efficiency and poor decoding effect in a manner that different blocks in one frame of a video are encoded and decoded with different resolutions in the related art.
According to an aspect of an embodiment of the present invention, there is provided a video decoding method including: under the condition that the initial resolution of a reconstructed block of a decoded block of a video frame to be decoded is higher than a first resolution a x b adopted by the block to be decoded of the video frame to be decoded during decoding, directly adjusting the resolution of the reconstructed block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image; determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching; determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded; and determining the UV value of the pixel point obtained after the decoding of the block to be decoded according to the UV value of the pixel point in the first pixel region.
According to another aspect of the embodiments of the present invention, there is provided a video encoding method including: under the condition that the initial resolution of a reconstruction block of a coded block of a video frame to be coded is higher than the first resolution a x b adopted by a block to be coded of the video frame to be coded during coding, directly adjusting the resolution of the reconstruction block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be coded is a YUV image; determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching; searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded; and acquiring the MV from the first pixel area to the block to be coded to obtain a first MV corresponding to the UV value of the block to be coded.
According to still another aspect of the embodiments of the present invention, there is also provided a video decoding apparatus including: the device comprises a first adjusting unit, a second adjusting unit and a third adjusting unit, wherein the first adjusting unit is used for directly adjusting the resolution of a reconstructed block of a decoded block of a video frame to be decoded to a second resolution na × nb from the initial resolution under the condition that the initial resolution of the reconstructed block is higher than a first resolution a × b adopted by the block to be decoded of the video frame to be decoded during decoding, n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image; the device comprises a first determining unit, a second determining unit and a third determining unit, wherein the first determining unit is used for determining a first to-be-matched area with the resolution as a second resolution according to the area where the reconstruction block is located, the to-be-decoded video frame is a YUV image, and the first to-be-matched area is a pixel area to be subjected to UV value matching; the second determining unit is used for determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded; and the third determining unit is used for determining the UV value of the pixel point obtained after the block to be decoded is decoded according to the UV value of the pixel point in the first pixel region.
According to still another aspect of the embodiments of the present invention, there is also provided a video encoding apparatus, including: the first adjusting unit is used for directly adjusting the resolution of a reconstruction block from the initial resolution to a second resolution na × nb under the condition that the initial resolution of the reconstruction block of an encoded block of a video frame to be encoded is higher than a first resolution a × b adopted by the encoded block of the video frame to be encoded during encoding, wherein n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image; the first determining unit is used for obtaining a first to-be-matched area with a resolution of a second resolution according to the area where the reconstruction block is located, wherein the to-be-coded video frame is a YUV image, and the first to-be-matched area is a pixel area to be subjected to UV value matching; the first searching unit is used for searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded; and the first obtaining unit is used for obtaining the motion vector MV from the first pixel area to the block to be coded to obtain a first MV corresponding to the UV value of the block to be coded.
In the embodiment of the invention, a mode of unifying the resolutions of all reconstructed blocks of decoded blocks is adopted, and under the condition that the initial resolution of the reconstructed block of the decoded block of a video frame to be decoded is higher than a first resolution a x b adopted by the block to be decoded in the decoding process of the video frame to be decoded, the resolution of the reconstructed block is directly adjusted to a second resolution na x nb from the initial resolution, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image; determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching; determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded; the method determines the UV value of the pixel point obtained after the decoding of the block to be decoded according to the UV value of the pixel point in the first pixel area, because the resolution ratio of the reconstruction block of all the decoded blocks is directly adjusted to the second resolution ratio na x nb, the reference block matched with the UV value of the block to be decoded is determined according to the motion vector under the second resolution ratio, the UV value of the reference block with high resolution ratio can be directly used as the UV reference value of the half pixel of the current coding block, the loss of image information caused by sampling after sampling is avoided, and the difference between an insertion value and the pixel point in the original image when the up-sampling interpolation is carried out is avoided, thereby achieving the purpose of ensuring the accuracy of the decoding result, further realizing the technical effects of improving the coding and decoding efficiency and improving the decoding effect, and further solving the problem that the coding and decoding efficiency of different blocks in one frame of the video in the related technology is low by adopting different resolution ratios, the decoding effect is poor.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 is a schematic diagram of an application environment of an alternative video decoding method according to an embodiment of the present invention;
FIG. 2 is a flow chart illustrating an alternative video decoding method according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an alternative video decoding method according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of an alternative video decoding method according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of yet another alternative video decoding method according to an embodiment of the present invention;
fig. 6 is a flow chart illustrating an alternative video encoding method according to an embodiment of the present invention;
fig. 7 is a schematic diagram of an alternative video encoding method according to an embodiment of the present invention;
fig. 8 is a schematic diagram of an alternative video encoding method according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of an alternative video encoding and decoding process according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of an alternative video decoding apparatus according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of an alternative video encoding apparatus according to an embodiment of the present invention;
fig. 12 is a schematic structural diagram of an alternative electronic device according to an embodiment of the invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Technical terms involved in the embodiments of the present invention include:
(1) PSNR (Peak Signal to Noise Ratio), which represents the Ratio of the maximum possible power of a Signal to the destructive Noise power affecting its representation accuracy, with the unit of PSNR being dB, with higher PSNR values representing less distortion;
(2) MV (Moving Vector), which represents the relative displacement between the current coding block and the best matching block in its reference picture.
According to an aspect of an embodiment of the present invention, there is provided a video decoding method. Optionally, as an optional implementation, the video decoding method may be applied, but not limited to, in an application environment as shown in fig. 1. The application environment includes a terminal 102 and a server 104, and the terminal 102 and the server 104 communicate with each other through a network. The terminal 102 may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, and the like. The server 104 may be, but not limited to, a computer processing device with a relatively high data processing capability and a certain storage space.
The video encoding method corresponding to the video decoding method described above may also be applied, but not limited to, to the application environment shown in fig. 1. After the video to be encoded is obtained, the video encoding method provided in this application may be, but is not limited to, adjust the resolution of the reconstructed block of the decoded block to the same resolution (for example, the second resolution is 2a × 2b) through the above-mentioned interactive process between the terminal 102 and the server 104 shown in fig. 1, and search a pixel region (for example, the most-pixel region) matching the UV value of the current block to be encoded in the intra-frame encoded pixel region at the same resolution, and obtain the first MV of the matching pixel region corresponding to the UV value of the block to be encoded, and directly use the UV value of the reference block with high resolution as the UV reference value of the half-pixel of the current block to be encoded, so as to save encoding time while ensuring accuracy of the decoding result. In addition, after the video to be decoded is obtained, the video decoding method provided by the present application may also be, but is not limited to, by using the interaction process between the terminal 102 and the server 104 shown in fig. 1, in a scene of block-level coding with different resolutions, a first to-be-matched region matched with the UV value of the current block to be decoded is determined according to the first MV at the same resolution (second resolution na × nb), and then the UV value of the block to be decoded is determined according to the first to-be-matched region, so that the decoding efficiency is improved, and the decoding effect is improved.
In one embodiment, the terminal 102 may include, but is not limited to, the following components: an image processing unit 1021, a processor 1022, a storage medium 1023, a memory 1024, a network interface 1025, a display screen 1026, and an input device 1027. The aforementioned components may be connected by, but are not limited to, a system bus 1028. The image processing unit 1021 is configured to provide at least a rendering capability of a display interface; the processor 1022 is configured to provide computing and control capabilities to support operation of the terminal 102; the storage medium 1023 stores therein an operating system 1023-2, a video encoder and/or a video decoder 1023-4. The operating system 1023-2 is used to provide control operation instructions, and the video encoder and/or video decoder 1023-4 is used to perform encoding/decoding operations according to the control operation instructions. In addition, the memory provides an operating environment for the video encoder and/or video decoder 1023-4 in the storage medium 1023, and the network interface 1025 is used for network communication with the network interface 1043 in the server 104. The display screen is used for displaying an application interface and the like, such as a decoded video; the input device 1027 is used for receiving commands or data input by a user. For a terminal 102 with a touch screen, the display screen 1026 and input device 1027 may be touch screens. The internal structure of the terminal shown in fig. 1 is a block diagram of only a part of the structure related to the present application, and does not constitute a limitation of the terminal to which the present application is applied, and a specific terminal or server may include more or less components than those shown in the figure, or combine some components, or have a different arrangement of components.
In one embodiment, the server 104 may include, but is not limited to, the following components: a processor 1041, a memory 1042, a network interface 1043, and a storage medium 1044. The above components may be connected by, but are not limited to, a system bus 1045. The storage medium 1044 includes an operating system 1044-1, a database 1044-2, a video encoder and/or a video decoder 1044-3. The processor 1041 is used for providing computing and control capability to support the operation of the server 104. The memory 1042 provides an environment for the operation of the video encoder 1044-3 and/or the video decoding 1044-3 in the storage medium 1044. The network interface 1043 communicates with the network interface 1025 of the external terminal 102 via a network connection. The operating system 1044-1 in the storage medium is configured to provide control operation instructions; the video encoder and/or video decoder 1044-3 is configured to perform encoding/decoding operations according to the control operation instructions; database 1044-2 is used to store data. The internal structure of the server shown in fig. 1 is a block diagram of only a part of the structure related to the present application, and does not constitute a limitation on the computer device to which the present application is applied, and a specific computer device has different component arrangements.
In one embodiment, the network may include, but is not limited to: wired networks, wireless networks. The wired network may include, but is not limited to: wide area networks, metropolitan area networks, and local area networks. The above is merely an example, and this is not limited in this embodiment.
Optionally, in this embodiment, as an optional implementation manner, a video decoding method performed by the terminal 102 or the server 104 is provided. As shown in fig. 2, the video decoding method includes:
step S202, when the initial resolution of the reconstructed block of the decoded block of the video frame to be decoded is greater than the first resolution a x b adopted by the block to be decoded in the decoding process, the resolution of the reconstructed block is directly adjusted from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image;
step S204, determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
step S206, determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded;
step S208, determining the UV value of the pixel point obtained after the to-be-decoded block is decoded according to the UV value of the pixel point in the first pixel region.
It should be noted that the video decoding method shown in fig. 2 can be used in, but is not limited to, the video decoder shown in fig. 1. The decoding process of the video frame to be decoded is completed through the interactive cooperation of the video decoder and other components.
Optionally, in this embodiment, the video decoding method may be applied, but not limited to, to various scenes involving video encoding and decoding technologies, for example, to application scenes such as a video playing application, a video sharing application, a video session application, short video transmission in an instant messaging application, and video chat in an instant messaging application. The video transmitted in the application scene may include, but is not limited to: the long video, the short video, such as the long video, may be a play episode with a longer play time (for example, the play time is longer than 10 minutes), or a picture shown in a long-time video session, and the short video may be a voice message interacted between two or more parties, or a video with a shorter play time (for example, the play time is less than or equal to 30 seconds) for being shown on the sharing platform. The above is merely an example, and the video decoding method provided in the present embodiment can be applied to, but is not limited to, a playing device for playing video in the above application scenario.
In this embodiment, for a UV value of a current block to be decoded in a current video frame to be decoded in a video to be decoded, a plurality of decoded blocks are reconstructed and adjusted to the same resolution (second resolution) to obtain a first region to be matched, and according to a first pixel region matched with a first MV corresponding to the UV value of the block to be decoded, a UV value of a pixel point in a target decoded block obtained by decoding the block to be decoded is determined according to the UV value of the pixel point in the first pixel region.
The video decoding method in the present embodiment is explained below with reference to fig. 2.
In step S202, in the case that the initial resolution of the reconstructed block of the decoded block of the video frame to be decoded is greater than the first resolution a × b adopted by the block to be decoded in decoding, the resolution of the reconstructed block is directly adjusted from the initial resolution to a second resolution na × nb, where n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image.
A receiving device of the video (e.g., server 104) may receive the video stream transmitted by a transmitting device of the video (e.g., terminal 102) over a network. The video code stream contains data obtained by video coding one or more video frames (video images) of the video.
After receiving the video code stream, the receiving device may decode each video frame to be decoded in the video to obtain a decoded video. The video frames with relevance may be decoded according to a sequence of relevance, and for video frames without relevance, the video frames may be decoded according to a sequence in a video, may also be decoded according to a random sequence, and may also be decoded in parallel by multiple video frames, where a specific decoding manner may be according to an appointment, or determined according to indication information in a video code stream, which is not specifically limited in this embodiment.
For each image block in the current video frame to be decoded, when an intra block copy (intra block copy) coding mode is adopted, coding can be performed by adopting different resolutions. The adopted resolution can be indicated by the indication information corresponding to the video frame to be decoded (or the block to be decoded) in the video code stream, can also be determined according to the reference information of other image blocks or other video frames, and can also be determined according to the indication information corresponding to the video frame to be decoded (or the block to be decoded) in the video code stream and the reference information of other image blocks or other video frames. The resolution of each image block is determined, which is not specifically limited in this embodiment.
When each block to be decoded is decoded, under the condition that the video code stream contains data to be decoded corresponding to the current block to be decoded, the data to be decoded can be decoded by adopting the resolution (first resolution) corresponding to the current block to be decoded, so as to obtain the current decoded block corresponding to the current block to be decoded. In the case that the video code stream does not include data to be decoded corresponding to the current block to be decoded, the current decoded block corresponding to the current block to be decoded may be determined according to a target pixel region (for example, a pixel region that is the most pixel region of the current block to be decoded) that matches the current block to be decoded in the decoded pixel regions.
Alternatively, in this embodiment, the target pixel region may span multiple blocks (decoded blocks), and the multiple blocks may be reconstructed and adjusted to the target resolution. For example, the resolution of the reconstructed block of the decoded block of the video frame to be decoded may be adjusted from the initial resolution to the target resolution, so as to obtain the region to be matched with the target resolution. The initial resolution is the resolution adopted by the decoded block during decoding, and the corresponding initial resolutions of different decoded blocks may be the same or different. The target resolution is a resolution adopted by the current block to be decoded in decoding, that is, the first resolution a × b, and may also be the second resolution na × nb.
The reconstructed block of the decoded block is a copy of the reconstructed decoded block, the size of the decoded block is the same as that of the reconstructed block, the resolution is the same, and the pixel values of the pixels at the same position are the same.
The size relationship of the initial resolution to the target resolution may include at least one of: the initial resolution is higher than the target resolution, the initial resolution is equal to the target resolution, and the initial resolution is lower than the target resolution.
And the video frame to be decoded is a YUV image. When the Y value is matched, searching a reference block by taking a pixel point as a unit under the same resolution; when the UV value is matched, the reference block is searched by taking a half pixel point as a unit (or a smaller pixel unit) under the same resolution.
As an alternative, when performing Y value matching, the resolution of the reconstructed block may be adjusted from the initial resolution to the first resolution; determining a second region to be matched with the first resolution according to the region where the reconstruction block is located, wherein the second region to be matched is a pixel region to be subjected to Y value matching; determining a second pixel area matched with the block to be decoded from the second area to be matched according to a second MV corresponding to the Y value of the block to be decoded, wherein the second MV is a motion vector from the second pixel area to the block to be decoded, and the size of the second pixel area is the same as that of the block to be decoded; and determining the Y value of the pixel point obtained after the block to be decoded is decoded according to the Y value of the pixel point in the second pixel region.
In the case that the initial resolution is higher than the first resolution, the resolution of the reconstruction block may be downsampled from the initial resolution to the first resolution, so as to obtain a second region to be matched with the first resolution. In the case where the initial resolution is equal to the first resolution, the resolution of the reconstructed block may not be adjusted. In the case that the initial resolution is smaller than the first resolution, the resolution of the reconstruction block may be up-sampled from the initial resolution to the first resolution to obtain a second region to be matched with the first resolution. The second region to be matched is a pixel region to be subjected to Y value matching.
When there are a plurality of decoded blocks, resolution adjustment may be performed on the reconstructed block of each decoded block in sequence to obtain a second region to be matched with the first resolution.
Through the embodiment, the resolution of the reconstructed block of the decoded block is unified into the first resolution from the initial resolution, so that the pixel area matched with the current block to be decoded can be conveniently searched under the same resolution, the decoding efficiency can be improved, and the decoding effect is improved.
In the UV value matching, in the case that the initial resolution is equal to the first resolution, the resolution of the reconstruction block may be up-sampled to the second resolution, and the first region to be matched with the second resolution is obtained. Under the condition that the initial resolution is smaller than the first resolution, the resolution of the reconstruction block may be up-sampled from the initial resolution to the first resolution and then up-sampled to the second resolution, or the resolution of the reconstruction block may be up-sampled from the initial resolution to the second resolution directly, so as to obtain the first region to be matched with the second resolution.
Under the condition that the initial resolution is higher than the first resolution, the resolution of the reconstruction block may be firstly down-sampled to the first resolution from the initial resolution and then up-sampled to the second resolution to obtain the first to-be-matched region with the second resolution, or the resolution of the reconstruction block may be directly adjusted to the second resolution from the initial resolution to obtain the first to-be-matched region with the second resolution. The first region to be matched is a pixel region to be subjected to UV value matching.
The resolution of the reconstructed block is directly adjusted to the second resolution from the initial resolution, so that the mode of sampling the reconstructed block firstly and then sampling the reconstructed block secondly can be avoided, image information loss caused by inserting pixel points after removing the pixel points firstly is avoided, decoding deviation caused by uncertainty of the inserted pixel points (constructed pixel points) is avoided, and the accuracy of a decoding result is improved.
As an alternative implementation, in the case that the initial resolution is higher than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution may include: the resolution of the reconstructed block is downsampled from the initial resolution to a second resolution.
The resolution of the reconstructed block with the initial resolution higher than the second resolution may be downsampled from the initial resolution to the second resolution, resulting in a reconstructed block with the downsampled resolution.
As another alternative, in the case that the initial resolution is lower than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution may include: the resolution of the reconstructed block is up-sampled from the initial resolution to a second resolution.
The resolution of the reconstructed block with the initial resolution lower than the second resolution may be upsampled from the initial resolution to the second resolution to obtain a reconstructed block with an upsampled resolution.
By the embodiment, the resolution of the reconstruction block is up-sampled or down-sampled according to the relationship between the initial resolution and the second resolution, so that the resolution of the reconstruction block can be accurately adjusted to the second resolution, and the accuracy of determining the first region to be matched is improved.
There may be one or more decoded blocks having an initial resolution higher than the first resolution before decoding the block currently to be decoded. In the case that there is one decoded block with an initial resolution higher than the first resolution, the resolution of the reconstructed block of the one decoded block may be directly adjusted from the initial resolution to the second resolution, so as to obtain the first region to be matched with the second resolution. In the case that there are a plurality of decoded blocks with the original resolution higher than the first resolution, the resolutions of a plurality of reconstructed blocks of the plurality of decoded blocks may be directly adjusted from the original resolution to the second resolution, respectively, to obtain a first region to be matched with the second resolution.
As an alternative embodiment, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution comprises: and under the condition that the decoded blocks comprise a plurality of blocks and the plurality of blocks comprise a first block with initial resolution higher than second resolution, down-sampling the resolution of a reconstructed block of the first block from the initial resolution to the second resolution to obtain a first decoded block with the resolution of the second resolution, wherein the first area to be matched comprises an area where the first decoded block is located.
For a first block (the first block may include one or more blocks) with an initial resolution higher than a second resolution among the plurality of decoded blocks, the resolution of a reconstructed block of the first block may be downsampled from the initial resolution to the second resolution to obtain a first decoded block with a resolution of a target resolution, and the first region to be matched includes a region where the first target decoded block is located.
As another alternative embodiment, in the case where the decoded block includes a plurality of blocks and the plurality of blocks includes a second block having an initial resolution lower than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution includes: and upsampling the resolution of the reconstructed block of the second block from the initial resolution to a second resolution to obtain a second decoded block with the resolution of the second resolution, wherein the first region to be matched comprises a region where the second decoded block is located.
For a second block (the second block may include one or more blocks) of the plurality of decoded blocks, where the initial resolution is lower than the second resolution, the resolution of the reconstructed block of the second block may be up-sampled from the initial resolution to the second resolution to obtain a second target decoded block with the second resolution, where the first region to be matched includes a region where the second target decoded block is located.
For example, as shown in fig. 3, a video frame to be decoded includes 4 × 4 image blocks, and there are 10 decoded blocks, which include: 2 decoded blocks of Resolution R1(Resolution), 3 decoded blocks of Resolution R2, 2 decoded blocks of Resolution R3, 3 decoded blocks of Resolution R4, where R1 > R2 > R3 > R4. The resolution of the block to be currently decoded is R3, 2R3 > R2 > R3, and R1 > 2R3, the resolution of the reconstructed block of the decoded block with resolution R1 may be downsampled from R1 to 2R3, the resolution of the reconstructed block of the decoded block with resolution R2, R3, and R4 may be upsampled from R2, R3, and R4 to 2R3, respectively, and the reconstructed block of the decoded block with resolution R1 may be used as the first area to be matched.
By the embodiment, when a plurality of decoded blocks are provided, the resolution of the reconstructed block of each decoded block is adjusted according to the relationship between the resolution corresponding to each decoded block and the second resolution, so that the resolution of each reconstructed block can be adjusted to the second resolution, and the accuracy of determining the first to-be-matched region is improved.
In step S204, a first region to be matched with the second resolution is determined according to the region where the reconstruction block is located, where the first region to be matched is a pixel region to be subjected to UV value matching.
After the resolution of the reconstructed block of each decoded block is adjusted from the initial resolution to the second resolution, the region where the adjusted reconstructed block is located may be used as the first region to be matched, or the edge filtering process may be performed on the adjusted reconstructed block first, and the region where the filtered reconstructed block is located is used as the first region to be matched.
As an optional scheme, after determining a first to-be-matched region with a resolution of a second resolution according to a region where a reconstructed block is located, edge filtering may be performed on pixel points on adjacent edges of adjacent pixel blocks in the first to-be-matched region when a decoded block includes a plurality of blocks, where the adjacent pixel blocks are pixel blocks in the first to-be-matched region that correspond to adjacent blocks in the plurality of blocks.
The edge filtering may be performed on one or more rows of pixels on adjacent row edges of adjacent pixel blocks (row edge adjacent) or one or more columns of pixels on adjacent column edges. When performing edge filtering, for a pixel point to be filtered, the pixel point used for filtering may be one or more pixel points adjacent to the pixel point to be filtered (adjacent in rows, adjacent in columns, etc.), or may be a pixel point within a predetermined range with the pixel point to be filtered as a center, where the predetermined range may be a circle with a radius of a predetermined length, or a square, a rectangle, or the like with a side length of a predetermined length. The filtering method used for the edge filtering may be set as needed, which is not specifically limited in this embodiment.
For example, as shown in fig. 4, for the reconstructed block after adjustment, two rows of pixels on adjacent sides are used for edge filtering (as shown by a dashed box in fig. 4), and the pixel value of each pixel (for example, the pixel used for the filtering) is adjusted according to the pixel value of the pixel corresponding to each pixel (for example, the pixel used for the filtering), so as to obtain the reconstructed block after filtering. The filtered pixel block can be used as a pixel area to be matched (which can include a first area to be matched and a second area to be matched).
It should be noted that the process of the filtering process on the decoding side may be performed by:
determining at least one pair of decoding blocks to be reconstructed from a decoding video frame to be processed currently, wherein each pair of decoding blocks in the at least one pair of decoding blocks comprises a first decoding block adopting a first initial resolution and a second decoding block adopting a second initial resolution, and the first decoding block and the second decoding block are position-adjacent decoding blocks;
adjusting a first initial resolution of the first decoding block to a target resolution, and adjusting a second initial resolution of the second decoding block to the target resolution;
determining a first edge pixel point set from the first decoding block and a second edge pixel point set from the second decoding block, wherein the position of the first edge pixel point set is adjacent to the position of the second edge pixel point set;
and filtering the first edge pixel point set to obtain a filtered first edge pixel point set, and filtering the second edge pixel point set to obtain a filtered second edge pixel point set, wherein a first difference value between a pixel value of an ith pixel point in the filtered first edge pixel point set and a pixel value of a jth pixel point corresponding to the ith pixel point in the filtered second edge pixel point set is smaller than a second difference value between a pixel value of the ith pixel point in the first edge pixel point set and a pixel value of a jth pixel point in the second edge pixel point set, i is a positive integer and is less than or equal to the total number of pixel points in the first edge pixel point set, j is a positive integer and is less than or equal to the total number of pixel points in the second edge pixel point set.
Wherein adjusting to the target resolution comprises: the first initial resolution and the second initial resolution are adjusted to the first resolution, the second resolution, or both the first resolution and the second resolution.
By adjusting the resolution of the decoding blocks and performing edge filtering processing on the edge pixel point set determined in the decoding blocks, obvious seams can be avoided in the video in the reconstruction process, so that the content in the video can be accurately restored, and the technical problem of video distortion caused by inconsistent resolution is solved.
Through the embodiment, the influence of resolution adjustment on the pixel points can be reduced by performing edge filtering on the adjusted reconstruction block, and the effectiveness of the pixel points in the pixel region to be matched is ensured.
In step S206, a first pixel region matching the UV value of the block to be decoded is determined from the first region to be matched according to a first MV corresponding to the UV value of the block to be decoded, where the first MV is a motion vector from the first pixel region to the block to be decoded, and the size of the first pixel region is the same as the size of the block to be decoded.
After the first to-be-matched region is obtained, the first pixel region may be determined from the first to-be-matched region according to a motion vector (first MV) from the first pixel region corresponding to the block to be decoded in the first to-be-matched region. The first pixel region is used for determining a UV value of a target decoding block corresponding to the UV value of the block to be decoded, the target decoding block is obtained by decoding the block to be decoded according to a first resolution, and the target decoding block can span a plurality of adjusted reconstruction blocks.
The first MV may be carried in indication information corresponding to a video to be decoded, a video frame to be decoded, or a block to be decoded. The indication information may carry a plurality of parameters, including at least a motion vector parameter for indicating the first MV (the motion vector parameter may also indicate the second MV). By using the parameter values of the motion vector parameters, the target MV (which may include the first MV and may also include the second MV) may be determined.
It should be noted that the first MV is used to determine the relative position relationship between the first pixel region and the block to be decoded, and may be a motion vector from the first pixel region to the block to be decoded, or a motion vector from the block to be decoded to the first pixel region. The second MV is used to determine the relative position relationship between the second pixel region and the block to be decoded, and may be a motion vector from the second pixel region to the block to be decoded, or a motion vector from the block to be decoded to the second pixel region
In addition to the target MV (including the first MV and the second MV), determining the target pixel region (including the first pixel region and the second pixel region) also needs to depend on a reference position used for positioning the target pixel region, which is a relative position of a reference point position in the block to be decoded. The reference point position in the block to be decoded may be a position of a certain pixel point in the block to be decoded (a pixel point at the top left corner, a pixel point at the top right corner, a pixel point at the bottom left corner, and a pixel point at the bottom right corner), or may be other positions besides the position of the pixel point, such as a center point. The position of the reference point may be set as needed, which is not particularly limited in this embodiment.
As an optional scheme, determining, according to the UV value of the pixel point in the first pixel region, the UV value of the pixel point obtained after decoding the block to be decoded includes: determining a second pixel point position matched with a first pixel point position in the block to be decoded in the first area to be matched, wherein a motion vector from the second pixel point position to the first pixel point position is a first MV; and determining a first pixel area in the first area to be matched according to the position of the second pixel point, wherein the relative position of the second pixel point in the first pixel area is the same as the relative position of the first pixel point in the block to be decoded.
After the first MV is obtained, the position of a reference point in the block to be decoded can also be determined. The reference point location in the block to be decoded may be the first pixel point location in the block to be decoded. The first pixel point position may be a position of a first pixel point in the block to be decoded. The first pixel point may be a specific pixel point in the block to be decoded, and the specific pixel point may be any pixel point, for example, a pixel point at the upper left corner, a pixel point at the upper right corner, a pixel point at the lower left corner, and a pixel point at the lower right corner.
It should be noted that the position of the reference point in the block to be decoded (the relative position of the first pixel point position in the block to be decoded) and the position of the reference point in the first pixel region (the relative position of the second pixel point position in the target pixel region) are the same. The reference point position may be determined according to convention, or may be determined by a parameter value of a reference point position parameter among a plurality of parameters in the indication information. The reference point position may be defined as needed, which is not specifically limited in this embodiment.
The motion vector from the second pixel point position to the first pixel point position is the first MV, or the motion vector from the first pixel point position to the second pixel point position is the first MV. According to the reference point position in the block to be decoded, the reference point position (second pixel point position) in the first pixel region can be obtained according to the first MV. Since the size of the block to be decoded is constant, the first pixel region can be located from the first region to be matched according to the position of the reference point in the first pixel region.
For example, as shown in fig. 5, according to the first MV and the position of the first pixel point, the position of the second pixel point (e.g., two end points of the first MV in fig. 5) may be determined, and then the first pixel region may be determined according to the size information of the block to be decoded (or other information that may determine the size of the block to be decoded).
By the embodiment, the first pixel region is determined according to the first MV corresponding to the block to be decoded and the reference point position (the first pixel point position) in the block to be decoded, so that the accuracy of determining the first pixel point position can be ensured, and the decoding quality is improved.
In step S208, the UV value of the pixel point obtained after the block to be decoded is determined according to the UV value of the pixel point in the first pixel region.
After the first pixel region is determined, the UV value of the pixel point in the target decoding block corresponding to the block to be decoded may be determined according to the UV value of the pixel point in the first pixel region, where the target decoding block is a decoding block obtained by decoding the block to be decoded according to the first resolution.
There are various ways to determine the UV value of the pixel point in the target decoding block corresponding to the block to be decoded, for example, the UV value of the pixel point in the first pixel region may be directly used as the UV value of the pixel point in the target decoding block.
As an optional scheme, determining, according to the UV value of the pixel point in the first pixel region, the UV value of the pixel point obtained after decoding the block to be decoded may include: and converting the UV value of the pixel point in the first pixel region according to the target conversion parameter to obtain the UV value of the pixel point in the target decoding block.
Besides the first MV, the parameters corresponding to the block to be decoded in the video code stream may further include: and a target conversion parameter, which may be a conversion parameter for converting the UV value of the pixel point in the first pixel region into the UV value of the pixel point in the target decoding block. The conversion parameter may be: and the difference value between the UV value of the pixel point in the first pixel region and the UV value of the pixel point in the target decoding block.
Since the first pixel region is a pixel region that matches the block to be decoded (for example, a pixel region that is the most image of the first region to be matched to the block to be decoded), the amount of data of the conversion parameter required to determine the target decoded block is small, so that an accurate target decoded block can be obtained with less cost.
According to another aspect of the embodiments of the present invention, there is provided a video encoding method, as shown in fig. 6, the method including:
step S602, under the condition that the initial resolution of a reconstruction block of a coded block of a video frame to be coded is higher than the first resolution a x b adopted by the coded block of the video frame to be coded during coding, directly adjusting the resolution of the reconstruction block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be coded is a YUV image;
step S604, determining a first to-be-matched area with the resolution as the second resolution according to the area where the reconstruction block is located, wherein the to-be-coded video frame is a YUV image, and the first to-be-matched area is a pixel area to be subjected to UV value matching;
step S606, searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded;
step S608, obtaining the MV from the first pixel region to the block to be encoded, and obtaining a first MV corresponding to the UV value of the block to be encoded.
It should be noted that the video encoding method shown in fig. 6 can be used in, but is not limited to, the video encoder shown in fig. 1. The video encoder is interactively matched with other components to complete the encoding process of the video frame to be encoded.
Optionally, in this embodiment, the video encoding method may be applied to, but not limited to, an application scenario such as a video playing application, a video sharing application, or a video session application. The video transmitted in the application scene may include, but is not limited to: the long video, the short video, such as the long video, may be a play episode with a longer play time (for example, the play time is longer than 10 minutes), or a picture shown in a long-time video session, and the short video may be a voice message interacted between two or more parties, or a video with a shorter play time (for example, the play time is less than or equal to 30 seconds) for being shown on the sharing platform. The above is merely an example, and the video encoding method provided in the present embodiment may be applied to, but is not limited to, a transmitting apparatus for transmitting video in the above application scenario.
In the video encoding process, in order to ensure real-time performance and flexibility of video frame encoding, a video frame is divided into a plurality of blocks to be encoded respectively. Furthermore, before encoding the current block, it is necessary to perform encoding pre-analysis on the current block by referring to the encoded block to determine the resolution of the current block. In the related art video encoding process, different blocks in the same video frame are usually encoded with uniform resolution for processing convenience.
As shown in fig. 7, if high resolution is used for encoding different blocks in a frame of a video, when the transmission bandwidth ratio is small (for example, smaller than the bandwidth threshold Th shown in fig. 7), the peak signal-to-noise ratio PSNR1 corresponding to high resolution encoding of different blocks in a frame of the video is lower than the peak signal-to-noise ratio PSNR2 corresponding to low resolution encoding of different blocks in a frame of the video, that is, the peak signal-to-noise ratio PSNR1 corresponding to high resolution encoding of a frame of the video is relatively small and distortion is relatively large.
Similarly, if the different blocks in a frame of the video are encoded with low resolution, when the transmission bandwidth ratio is large (for example, larger than the bandwidth threshold Th shown in fig. 7), the peak signal-to-noise ratio PSNR3 corresponding to the low resolution encoding of the different blocks in a frame of the video is lower than the peak signal-to-noise ratio PSNR4 corresponding to the high resolution encoding of the different blocks in a frame of the video, that is, the peak signal-to-noise ratio PSNR3 corresponding to the low resolution encoding of the large transmission bandwidth is relatively small and the distortion is relatively large.
Even if different resolutions are adopted for different blocks, there is no effective way to dynamically mark the dynamic relative relationship between each block and its reference block, and therefore, the video coding method in the related art has a problem of low coding efficiency.
In this embodiment, for a UV value of a current block to be encoded in a current video frame to be encoded in a video to be decoded, a plurality of blocks to be encoded are reconstructed and adjusted to have the same resolution (second resolution), a first region to be matched is obtained, a first pixel region matched with the UV value of the block to be encoded is searched from the first region to be matched, and then a first MV from the first pixel region to the block to be encoded is determined.
The video encoding method in the present embodiment is explained below with reference to fig. 6.
In step S602, in the case that the initial resolution of the reconstructed block of the encoded block of the video frame to be encoded is higher than the first resolution a × b adopted by the block to be encoded when encoding, the resolution of the reconstructed block is directly adjusted from the initial resolution to a second resolution na × nb, where n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image.
A sending device of the video (e.g., the terminal 102) may encode the video to be sent, so as to obtain an encoded video code stream. For a video frame with relevance in a video to be encoded, video frame encoding may be performed according to a sequence of relevance, for a video frame without relevance, encoding may be performed according to a sequence in the video, or may be performed according to a random sequence, or may perform parallel encoding of a plurality of video frames, where a specific encoding manner may be according to an appointment, or a resource status of a terminal is determined, which is not specifically limited in this embodiment.
For each image block in the current video frame to be encoded, when an intra block copy (intra block copy) encoding mode is adopted, encoding can be performed by adopting different resolutions. The resolution ratio adopted by the block to be coded can be determined according to the pixel value of the pixel point in the block to be coded, can also be determined according to the reference information of other image blocks or other video frames, and can also be determined according to the pixel value of the pixel point in the block to be coded and the reference information of other image blocks or other video frames. The resolution of each image block is determined, which is not specifically limited in this embodiment. The resolution adopted by each image block can be indicated through indication information corresponding to a video frame to be decoded (or a block to be decoded) in a video code stream.
Under the condition that different resolutions are adopted for different blocks, before each block is coded according to different resolutions, motion information between each block and a reference block of each block needs to be determined, so that the coding is directly carried out by utilizing the relative relationship, and the coding efficiency is improved.
When each block to be coded is coded, the resolution of a reconstructed block of a coded block of a video frame to be coded can be adjusted from an initial resolution to a target resolution to obtain a region to be matched with the target resolution. The initial resolution is a resolution adopted by the encoded block during encoding, and the corresponding initial resolutions of different encoded blocks may be the same or different. The target resolution is a resolution adopted by the current block to be decoded in decoding, that is, the first resolution a × b, and may also be the second resolution na × nb.
The reconstructed block of the encoded block is a duplicate of the reconstructed encoded block, the size of the encoded block is the same as that of the reconstructed block, the resolution is the same, and the pixel values of the pixels at the same position are the same.
The size relationship of the initial resolution to the target resolution may include at least one of: the initial resolution is higher than the target resolution, the initial resolution is equal to the target resolution, and the initial resolution is lower than the target resolution.
And the video frame to be coded is a YUV image. When the Y value is matched, searching a reference block by taking a pixel point as a unit under the same resolution; when the UV value is matched, the reference block is searched by taking a half pixel point as a unit (or a smaller pixel unit) under the same resolution.
As an alternative, when performing Y value matching, the resolution of the reconstructed block may be adjusted from the initial resolution to the first resolution; determining a second region to be matched with the first resolution according to the region where the reconstruction block is located, wherein the second region to be matched is a pixel region to be subjected to Y value matching; searching a second pixel area matched with the Y value of the block to be coded in a second area to be matched, wherein the size of the second pixel area is the same as that of the block to be coded; and obtaining a motion vector MV from the second pixel area to the block to be coded to obtain a second MV corresponding to the Y value of the block to be coded.
In the case that the initial resolution is higher than the first resolution, the resolution of the reconstruction block may be downsampled from the initial resolution to the first resolution, resulting in a second region to be matched with the first resolution. In the case where the initial resolution is equal to the first resolution, the resolution of the reconstructed block may not be adjusted. In the case that the initial resolution is smaller than the first resolution, the resolution of the reconstruction block may be up-sampled from the initial resolution to the first resolution to obtain a second region to be matched with the first resolution. The second region to be matched is a pixel region to be subjected to Y value matching.
When a plurality of coded blocks are available, resolution adjustment can be sequentially performed on the reconstructed block of each coded block to obtain a second region to be matched with the first resolution.
Through the embodiment, the resolution of the reconstructed block of the coded block is unified into the first resolution from the initial resolution, so that the pixel area matched with the current block to be coded can be conveniently searched under the same resolution, the coding efficiency can be improved, and the coding effect is improved.
In the UV value matching, in the case that the initial resolution is equal to the first resolution, the resolution of the reconstruction block may be up-sampled to the second resolution, and the first region to be matched with the second resolution is obtained. Under the condition that the initial resolution is smaller than the first resolution, the resolution of the reconstruction block may be up-sampled from the initial resolution to the first resolution and then up-sampled to the second resolution, or the resolution of the reconstruction block may be up-sampled from the initial resolution to the second resolution directly, so as to obtain the first region to be matched with the second resolution.
Under the condition that the initial resolution is higher than the first resolution, the resolution of the reconstruction block may be firstly down-sampled to the first resolution from the initial resolution and then up-sampled to the second resolution to obtain the first to-be-matched region with the resolution being the second resolution, or the resolution of the reconstruction block may be directly adjusted to the second resolution from the initial resolution to obtain the first to-be-matched region with the resolution being the second resolution. The first region to be matched is a pixel region to be subjected to UV value matching.
The resolution of the reconstructed block is directly adjusted to the second resolution from the initial resolution, so that the mode of sampling the reconstructed block firstly and then sampling the reconstructed block secondly can be avoided, image information loss caused by inserting pixel points after removing the pixel points firstly is avoided, coding deviation caused by uncertainty of the inserted pixel points (constructed pixel points) is avoided, and accuracy of a coding result is improved.
As an alternative implementation, in the case that the initial resolution is higher than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution may include: the resolution of the reconstructed block is downsampled from the initial resolution to a second resolution.
The resolution of the reconstructed block with the initial resolution higher than the second resolution may be downsampled from the initial resolution to the second resolution, resulting in a reconstructed block with the downsampled resolution.
As another alternative, in the case that the initial resolution is lower than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution may include: the resolution of the reconstructed block is up-sampled from the initial resolution to a second resolution.
The resolution of the reconstructed block with the initial resolution lower than the second resolution may be upsampled from the initial resolution to the second resolution to obtain a reconstructed block with an upsampled resolution.
By the embodiment, the resolution of the reconstruction block is up-sampled or down-sampled according to the relationship between the initial resolution and the second resolution, so that the resolution of the reconstruction block can be accurately adjusted to the second resolution, and the accuracy of determining the first region to be matched is improved.
There may be one or more encoded blocks with an initial resolution higher than the first resolution before encoding the current block to be encoded. In the case that there is one encoded block with an initial resolution higher than the first resolution, the resolution of the reconstructed block of the one encoded block may be directly adjusted from the initial resolution to the second resolution, so as to obtain the first region to be matched with the second resolution. When there are a plurality of encoded blocks with initial resolutions higher than the first resolution, the resolutions of a plurality of reconstructed blocks of the plurality of encoded blocks may be directly adjusted from the initial resolutions to the second resolution, respectively, to obtain a first region to be matched with the second resolution.
As an alternative embodiment, in the case where the encoded block includes a plurality of blocks and the plurality of blocks includes a first block having an initial resolution higher than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution includes: and sampling the resolution of the reconstructed block of the first block from the initial resolution to a second resolution to obtain a first encoded block with the resolution of the second resolution, wherein the first area to be matched comprises an area where the first encoded block is located.
For a first block (the first block may include one or more blocks) with an initial resolution higher than a second resolution in the plurality of encoded blocks, the resolution of a reconstructed block of the first block may be downsampled from the initial resolution to the second resolution to obtain a first encoded block with a resolution of a target resolution, where the first region to be matched includes a region where the first target encoded block is located.
As another alternative, in a case where the encoded block includes a plurality of blocks and the plurality of blocks includes a second block having an initial resolution lower than the second resolution, directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution includes: and upsampling the resolution of the reconstructed block of the second block from the initial resolution to the second resolution to obtain a second encoded block with the resolution of the second resolution, wherein the first region to be matched comprises a region where the second encoded block is located.
For a second block (the second block may include one or more blocks) with an initial resolution lower than the second resolution in the plurality of encoded blocks, the resolution of a reconstructed block of the second block may be up-sampled from the initial resolution to the second resolution to obtain a second target encoded block with the resolution of the second resolution, and the first region to be matched includes a region where the second target encoded block is located.
By the embodiment, when a plurality of coded blocks are provided, the resolution of the reconstruction block of each coded block is adjusted according to the relationship between the resolution corresponding to each coded block and the second resolution, so that the resolution of each reconstruction block can be adjusted to the second resolution, and the accuracy of determining the first to-be-matched area is improved.
In addition to adjusting the resolution of the reconstructed block of each encoded block from the initial resolution to the target resolution (the first resolution or the second resolution), for the current block to be encoded, if the resolution of the current block to be encoded is not the target resolution, the current block to be encoded may be upsampled (in a case where the resolution of the current block to be encoded is lower than the target resolution) or downsampled (in a case where the resolution of the current block to be encoded is higher than the target resolution), so as to adjust the resolution of the current block to be encoded to the target resolution.
In step S604, a first region to be matched with a second resolution is determined according to a region where the reconstruction block is located, where the video frame to be encoded is a YUV image, and the first region to be matched is a pixel region to be subjected to UV value matching.
After the resolution of the reconstructed block of each encoded block is adjusted from the initial resolution to the second resolution, the region where the adjusted reconstructed block is located may be used as the first region to be matched, or the edge filtering process may be performed on the adjusted reconstructed block first, and the region where the filtered reconstructed block is located is used as the first region to be matched.
As an optional scheme, after determining a first to-be-matched region with a resolution of a second resolution according to a region where a reconstructed block is located, if an encoded block includes multiple blocks, performing edge filtering on pixel points on adjacent edges of adjacent pixel blocks in the first to-be-matched region, where the adjacent pixel blocks are pixel blocks in the first to-be-matched region that correspond to adjacent blocks in the multiple blocks.
The edge filtering may be performed on one or more rows of pixels on adjacent row edges of adjacent pixel blocks (row edge adjacent) or one or more columns of pixels on adjacent column edges. When performing edge filtering, for a pixel point to be filtered, the pixel point used for filtering may be one or more pixel points adjacent to the pixel point to be filtered (adjacent in rows, adjacent in columns, etc.), or may be a pixel point within a predetermined range with the pixel point to be filtered as a center, where the predetermined range may be a circle with a radius of a predetermined length, or a square, a rectangle, or the like with a side length of a predetermined length. The filtering method used for the edge filtering may be set as needed, which is not specifically limited in this embodiment.
It should be noted that the process of the filtering process at the encoding side is similar to the process of the filtering process at the decoding side, and is not described herein again.
Through the embodiment, the influence of resolution adjustment on the pixel points can be reduced by performing edge filtering on the adjusted reconstruction block, and the effectiveness of the pixel points in the pixel region to be matched is ensured.
In step S606, a first pixel area matching the UV value of the block to be encoded is searched in the first area to be matched, where the size of the first pixel area is the same as the size of the block to be encoded.
After the first area to be matched is obtained, a first pixel area matched with the block to be coded can be searched in the first area to be matched. The manner of finding the first pixel region may include: on the premise that each coding block selects coding with different resolutions, the resolutions (second resolutions) of reconstruction blocks of each coding block are unified, and a first pixel region (for example, the most similar region) which is matched with the to-be-coded block in the coded blocks (the first to-be-matched region) is enumerated and found.
For example, on the premise that each coding block selects coding with different resolutions in a decision, when an intra block copy coding mode is adopted, a pixel region which is the most pixel of a current block to be coded is searched in a coded pixel region in a frame (the most pixel region may span multiple blocks, the multiple blocks are reconstructed and adjusted to the same resolution, and a pixel region corresponding to the current block is found on the multiple blocks), and the MV from the pixel region to the current block is calculated. The way to find the most image pixel area may be: enumeration finds the most similar region in the encoded block, and the distance from each pixel in the region to the current block needs to be calculated.
The region is obtained by reconstructing the similar region, and the similar region needs to be processed with uniform resolution, and the manner of uniform resolution may be: each block is interpolated/downsampled to the target resolution. In adjusting the resolution, the high-resolution UV half-pixel values can be multiplexed in the downsampling if the current resolution is low: the UV value of the reference block of high resolution can be directly used as the UV reference value of the half-pixel of the current coding block.
As an optional scheme, searching for a first pixel region matched with a block to be coded in a first region to be matched includes: using a preset step length to sequentially acquire a plurality of candidate pixel areas with the same size as a block to be coded from the first area to be matched according to the sequence of first-row-after-row or first-row-after-row; and determining a first pixel area from the candidate pixel areas, wherein the first pixel area is the candidate pixel area which has the highest similarity with the block to be coded and has the similarity higher than a similarity threshold value with the block to be coded.
The way of enumerating to find the first pixel region where the first region to be matched matches the UV value of the block to be encoded may be: and acquiring a plurality of candidate pixel areas with the same size as the block to be coded from the first area to be matched in sequence according to the sequence of first-column-after-column or first-column-after-row by using a preset step length, and taking the candidate pixel area with the highest similarity (the similarity of the UV value) with the block to be coded and the similarity higher than the similarity threshold value with the block to be coded as the first pixel area.
It should be noted that the similarity between the candidate pixel region and the block to be coded may be: and the ratio of the number of the pixel points with the same UV value at the same position to the total number of the pixel points contained in the candidate pixel area. Other types of similarity are also possible. The method for determining the similarity between the candidate pixel region and the block to be coded may be set as needed, which is not specifically limited in this embodiment.
For example, as shown in fig. 8, the candidate pixel region is determined by taking a pixel point at the top left corner of a first region to be matched (a second region to be matched is similar to the first region to be matched) as a starting point, and first obtaining a first candidate pixel region (the pixel point at the top left corner is a (0,0)) with the same size as a block to be coded; then, translating half pixel points to the right (each point in fig. 8 represents a translated half pixel point due to the second resolution) to obtain a second candidate pixel region (the pixel point at the upper left corner is a (0, 1)); sequentially acquiring candidate pixel regions in a mode of translating a pixel point to the right until reaching the right side of the first region to be matched; then, downwards translating one row, returning to the left side to continuously acquire a candidate pixel region (the pixel point at the upper left corner is A (1, 0)); and sequentially acquiring the candidate pixel regions in a preceding and following mode until no candidate pixel region meeting the size condition exists.
With the present embodiment, a plurality of candidate pixel regions are sequentially obtained in the order of first-column-last or first-column-last using a predetermined step size; and the first pixel area is determined from the plurality of candidate pixel areas, so that omission of acquisition of the candidate pixel areas is avoided, and the accuracy of determination of the first pixel area is ensured.
In step S608, the MV from the first pixel region to the block to be encoded is obtained, and the first MV corresponding to the UV value of the block to be encoded is obtained.
After the first pixel region is determined, a motion vector from a reference point position in the first pixel region to a reference point position in the block to be encoded may be used as the first MV corresponding to the UV value of the block to be encoded.
Optionally, in addition to the first MV, a difference between UV values of a pixel point in the first pixel region and a pixel point in the block to be encoded may be determined, and the difference is written into the video stream obtained after encoding as a target conversion parameter (for example, written into a specific position in the video stream as the indication information).
It should be noted that, if the first pixel region matched with the UV value of the block to be coded cannot be found, the block to be coded may be directly coded according to the first resolution to obtain a coded block (coded data) corresponding to the block to be coded, and the obtained coded data may be written into the video stream.
The description will be made in detail with reference to steps S902 to S930 in the example shown in fig. 9. In this example, in a scene of block-level coding with different resolutions, when an intra block copy coding mode is adopted, a pixel region that is the most pixel of a current block to be coded is searched in an already-coded pixel region in a frame, and an MV from the pixel region to the current block is calculated, where the most pixel region may span multiple blocks, the multiple blocks are reconstructed and adjusted to the same resolution, and a pixel region corresponding to the current block is found on the multiple blocks. For matching of UV values, the resolution adjustment used in this example is: and for each coding block of which the resolution is not the predetermined second resolution, adjusting the resolution of each coding block to the second resolution by adopting an up-sampling interpolation or down-sampling mode.
The relationship between the second resolution and the first resolution adopted when the block to be coded is as follows: the first resolution is a multiplied by b, the second resolution is 2a multiplied by 2b (n is 2), and the UV value of the reference block with high resolution can be directly used as the UV reference value of the half pixel of the current coding block by adjusting the resolution to the second resolution, thereby simplifying the operation and avoiding the information loss.
At the encoding end, steps S902 to S916 are performed: acquiring a video frame to be coded, and making a decision according to the resolution of a block to be coded; the resolution adopted when the block to be coded is determined to be the first resolution (a × b), and then the reconstructed blocks of the plurality of coded blocks are adjusted to be the target resolution (the first resolution, or the second resolution is 2a × 2b) (steps S906-2 to S906-8), so as to obtain the pixel region to be matched (including the first region to be matched and the second region to be matched). Judging whether pixel areas (a first pixel area and a second pixel area) which are the most like with a current block to be coded are found from the pixel areas to be matched (the first area to be matched and the second area to be matched); if yes, determining a target MV (including a first MV and a second MV) corresponding to the block to be coded and a target transformation parameter; adjusting the reconstruction blocks of the plurality of coded blocks into a target resolution ratio to obtain a pixel area to be matched, and judging whether the pixel area (a first pixel area and a second pixel area) which is the most pixel with the current coded block to be matched is found from the pixel area to be matched; if the target MV and the target conversion parameter are found, determining a target MV and a target conversion parameter corresponding to the block to be coded; if the video code stream is not found, the code block to be coded is coded by adopting the first resolution, the resolution identifier of the first resolution is added into the video code stream, and the video code stream is output.
At the decoding end, steps S918 to S930 are performed: acquiring a video code stream; performing resolution decision on a block to be decoded, and determining a first resolution corresponding to the block to be decoded; determining whether a target MV (a first MV and a second MV) is acquired from a video code stream; if the target MV is obtained, adjusting the reconstructed blocks of the plurality of decoded blocks to the target resolution (the first resolution, or the second resolution 2a × 2b) (step S924-2 to step S924-8) to obtain a pixel region to be matched; determining target pixel regions (a first pixel region and a second pixel region) matched with the block to be decoded according to the target MV, and determining pixel values of pixel points in the target decoding block obtained by decoding the block to be decoded according to the first resolution according to pixel values of the pixel points in the target pixel regions; and if the target MV is not acquired, decoding the block to be decoded by adopting the first resolution.
And decoding each to-be-decoded block of each to-be-decoded video frame to obtain a decoded video frame corresponding to each to-be-decoded video frame in the video code stream, and finally decoding the video.
The above is only an example, and the video encoding method and the video decoding method provided in this embodiment are applied to the decision process of the target MV and the use process of the target MV shown in fig. 1, and are used to, in the case that the encoding end and the decoding end use different resolutions for different blocks to be encoded/decoded, adjust the resolution of the reconstructed block of each encoded block to the target resolution by using an up-sampling interpolation or a down-sampling manner before encoding each block according to the different resolutions, so as to determine the motion information between each block and its reference block, so as to perform encoding and decoding directly using a relative relationship, thereby improving the encoding and decoding efficiency.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
According to another aspect of the embodiment of the present invention, there is also provided a video decoding apparatus. As shown in fig. 10, the apparatus includes:
(1) a first adjusting unit 1002, configured to, when an initial resolution of a reconstructed block of an encoded block of a video frame to be encoded is higher than a first resolution a × b adopted by the encoded block of the video frame to be encoded during encoding, directly adjust the resolution of the reconstructed block from the initial resolution to a second resolution na × nb, where n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image;
(2) a first determining unit 1004, configured to determine a first region to be matched with a second resolution according to a region where the reconstruction block is located, where the first region to be matched is a pixel region to be subjected to UV value matching,
(3) a second determining unit 1006, configured to determine, from the first area to be matched, a first pixel area matched with the UV value of the block to be decoded according to a first MV corresponding to the UV value of the block to be decoded, where the first MV is a motion vector from the first pixel area to the block to be decoded, and a size of the first pixel area is the same as a size of the block to be decoded;
(4) the third determining unit 1008 is configured to determine, according to the UV value of the pixel point in the first pixel region, a UV value of a pixel point obtained after the block to be decoded is decoded.
It should be noted that the video decoding apparatus shown in fig. 10 can be used in, but is not limited to, the video decoder shown in fig. 1. The decoding process of the video frame to be decoded is completed through the interactive cooperation of the video decoder and other components.
Alternatively, the first adjusting unit 1002 may be configured to execute the foregoing step S202, the first determining unit 1004 may be configured to execute the foregoing step S204, the second determining unit 1006 may be configured to execute the foregoing step S206, and the third determining unit 1008 may be configured to execute the foregoing step S208.
In this embodiment, for a UV value of a current block to be decoded in a current video frame to be decoded in a video to be decoded, a plurality of decoded blocks are reconstructed and adjusted to the same resolution (second resolution) to obtain a first region to be matched, and according to a first pixel region matched with a first MV corresponding to the UV value of the block to be decoded, a UV value of a pixel point in a target decoded block obtained by decoding the block to be decoded is determined according to the UV value of the pixel point in the first pixel region.
As an alternative embodiment, the first adjusting unit 1102 includes:
(1) a first down-sampling module, configured to down-sample the resolution of the reconstruction block from the initial resolution to a second resolution if the initial resolution is higher than the second resolution;
(2) and the first up-sampling module is used for up-sampling the resolution of the reconstruction block from the initial resolution to the second resolution under the condition that the initial resolution is lower than the second resolution.
By the embodiment, the resolution of the reconstruction block is up-sampled or down-sampled according to the relationship between the initial resolution and the second resolution, so that the resolution of the reconstruction block can be adjusted to the second resolution, and the accuracy of determining the first region to be matched is improved.
As an alternative embodiment, the first adjusting unit 1002 includes:
(1) the second downsampling module is used for downsampling the resolution of the reconstructed block of the first block from the initial resolution to the second resolution to obtain a first decoded block with the resolution being the second resolution under the condition that the decoded block comprises a plurality of blocks and the plurality of blocks comprise the first block of which the initial resolution is higher than the second resolution, wherein the first area to be matched comprises an area where the first decoded block is located;
(2) and the second up-sampling module is used for up-sampling the resolution of the reconstructed block of the second block from the initial resolution to the second resolution to obtain a second decoded block with the resolution of the second resolution under the condition that the decoded block comprises a plurality of blocks and the plurality of blocks comprise a second block with the initial resolution higher than the first resolution and lower than the second resolution, wherein the first region to be matched comprises the second decoded block.
By the embodiment, when a plurality of decoded blocks are provided, the resolution of the reconstructed block of each decoded block is adjusted according to the relationship between the resolution corresponding to each decoded block and the second resolution, so that the resolution of each reconstructed block can be adjusted to the second resolution, and the accuracy of determining the first to-be-matched region is improved.
As an alternative embodiment, the apparatus further comprises:
(1) and the filtering unit is used for performing edge filtering on pixel points on adjacent edges of adjacent pixel blocks in the first region to be matched under the condition that the decoded block comprises a plurality of blocks after determining a first region to be matched with a second resolution according to the region where the reconstructed block is located, wherein the adjacent pixel blocks are pixel blocks corresponding to the adjacent blocks in the plurality of blocks in the first region to be matched.
Through the embodiment, the influence of resolution adjustment on the pixel points can be reduced by performing edge filtering on the adjusted reconstruction block, and the effectiveness of the pixel points in the pixel region to be matched is ensured.
As an alternative embodiment, the second determining unit 1006 includes:
(1) the first determining module is used for determining a position of a second pixel point matched with the position of a first pixel point in the block to be decoded in the first area to be matched, wherein a motion vector from the position of the second pixel point to the position of the first pixel point is a first MV;
(2) and the second determining module is used for determining the first pixel area in the first area to be matched according to the position of a second pixel point, wherein the relative position of the second pixel point in the first pixel area is the same as the relative position of the first pixel point in the block to be decoded.
By the embodiment, the first pixel region is determined according to the first MV corresponding to the block to be decoded and the reference point position (the first pixel point position) in the block to be decoded, so that the accuracy of determining the first pixel point position can be ensured, and the decoding quality is improved.
As an alternative embodiment, the above apparatus further comprises:
(1) a second adjusting unit, configured to adjust the resolution of the reconstructed block from the initial resolution to the first resolution;
(2) a fourth determining unit, configured to determine, according to a region where the reconstruction block is located, a second region to be matched with the first resolution, where the second region to be matched is a pixel region to be subjected to Y value matching;
(3) a fifth determining unit, configured to determine, according to a second MV corresponding to the Y value of the block to be decoded, a second pixel region matched with the block to be decoded from the second region to be matched, where the second MV is a motion vector from the second pixel region to the block to be decoded, and a size of the second pixel region is the same as a size of the block to be decoded;
(4) and the sixth determining unit is used for determining the Y value of the pixel point obtained after the block to be decoded is decoded according to the Y value of the pixel point in the second pixel region.
Through the embodiment, the resolution of the reconstructed block of the decoded block is unified into the first resolution from the initial resolution, so that the pixel area matched with the current block to be decoded can be conveniently searched under the same resolution, the decoding efficiency can be improved, and the decoding effect is improved.
According to another aspect of the embodiments of the present invention, there is also provided a video encoding apparatus. As shown in fig. 11, the apparatus includes:
(1) a first adjusting unit 1102, configured to, when an initial resolution of a reconstructed block of an encoded block of a video frame to be encoded is higher than a first resolution a × b adopted by the encoded block of the video frame to be encoded during encoding, directly adjust the resolution of the reconstructed block from the initial resolution to a second resolution na × nb, where n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image;
(2) a first determining unit 1104, configured to determine, according to a region where the reconstruction block is located, a first region to be matched, where the resolution is a second resolution, where the first region to be matched is a pixel region to be subjected to UV value matching;
(3) a first searching unit 1106, configured to search, in a first area to be matched, a first pixel area matched with the UV value of the block to be coded, where a size of the first pixel area is the same as a size of the block to be coded;
(4) the first obtaining unit 1108 is configured to obtain a motion vector MV from the first pixel area to the block to be coded, and obtain a first MV corresponding to the UV value of the block to be coded.
It should be noted that the video encoding apparatus shown in fig. 11 can be used in, but is not limited to, the video encoder shown in fig. 1. The video encoder is interactively matched with other components to complete the encoding process of the video frame to be encoded.
Alternatively, the first adjusting unit 1102 may be configured to perform the foregoing step S602, the first determining unit 1104 may be configured to perform the foregoing step S604, the first searching unit 1106 may be configured to perform the foregoing step S606, and the first obtaining unit 1108 may be configured to perform the foregoing step S608.
In this embodiment, for a UV value of a current block to be encoded in a current video frame to be encoded in a video to be decoded, a plurality of blocks to be encoded are reconstructed and adjusted to have the same resolution (second resolution), a first region to be matched is obtained, a first pixel region matched with the UV value of the block to be encoded is searched from the first region to be matched, and then a first MV from the first pixel region to the block to be encoded is determined.
As an alternative embodiment, the first adjusting unit 1102 includes:
(1) a first down-sampling module, configured to down-sample the resolution of the reconstruction block from the initial resolution to a second resolution if the initial resolution is higher than the second resolution;
(2) and the first up-sampling module is used for up-sampling the resolution of the reconstruction block from the initial resolution to the second resolution under the condition that the initial resolution is lower than the second resolution.
By the embodiment, the resolution of the reconstruction block is up-sampled or down-sampled according to the relationship between the initial resolution and the second resolution, so that the resolution of the reconstruction block can be adjusted to the second resolution, and the accuracy of determining the first region to be matched is improved.
As an alternative embodiment, the first adjusting unit 1102 includes:
(1) the second downsampling module is used for downsampling the resolution of a reconstructed block of the first block from the initial resolution to the second resolution under the condition that the encoded block comprises a plurality of blocks and the plurality of blocks comprise the first block of which the initial resolution is higher than the second resolution to obtain a first encoded block of which the resolution is the second resolution, wherein the first area to be matched comprises an area where the first encoded block is located;
(2) and the second up-sampling module is used for up-sampling the resolution of a reconstructed block of the second block to the second resolution from the initial resolution under the condition that the encoded block comprises a plurality of blocks and the plurality of blocks comprise a second block of which the initial resolution is lower than the second resolution to obtain a second encoded block of which the resolution is the second resolution, wherein the first region to be matched comprises a region where the second encoded block is located.
By the embodiment, when a plurality of decoded blocks are provided, the resolution of the reconstructed block of each decoded block is adjusted according to the relationship between the resolution corresponding to each decoded block and the second resolution, so that the resolution of each reconstructed block can be adjusted to the second resolution, and the accuracy of determining the first to-be-matched region is improved.
As an alternative embodiment, the above apparatus further comprises:
(1) and the filtering unit is used for performing edge filtering on pixel points on adjacent edges of adjacent pixel blocks in the first region to be matched under the condition that the coded block comprises a plurality of blocks after determining a first region to be matched with a second resolution according to the region where the reconstructed block is located, wherein the adjacent pixel blocks are pixel blocks corresponding to adjacent blocks in the plurality of blocks in the first region to be matched.
Through the embodiment, the influence of resolution adjustment on the pixel points can be reduced by performing edge filtering on the adjusted reconstruction block, and the effectiveness of the pixel points in the pixel region to be matched is ensured.
As an alternative embodiment, the first lookup unit 1106 includes:
(1) the acquisition module is used for sequentially acquiring a plurality of candidate pixel areas with the same size as the block to be coded from the first area to be matched according to the sequence of first row and second row or first row and second row by using a preset step length;
(2) the determining module is used for determining a first pixel area from the candidate pixel areas, wherein the first pixel area is the candidate pixel area which has the highest similarity with the block to be coded and has the similarity higher than the similarity threshold with the block to be coded.
With the present embodiment, a plurality of candidate pixel regions are sequentially obtained in the order of first-column-last or first-column-last using a predetermined step size; and the first pixel area is determined from the plurality of candidate pixel areas, so that omission of acquisition of the candidate pixel areas is avoided, and the accuracy of determination of the first pixel area is ensured.
As an alternative embodiment, the above apparatus further comprises:
(1) a second adjusting unit, configured to adjust the resolution of the reconstructed block from the initial resolution to the first resolution;
(2) the second determining unit is used for determining a second region to be matched with the first resolution according to the region where the reconstruction block is located, wherein the second region to be matched is a pixel region to be subjected to Y value matching;
(3) the second searching unit is used for searching a second pixel area matched with the Y value of the block to be coded in a second area to be matched, wherein the size of the second pixel area is the same as that of the block to be coded;
(3) and the second obtaining unit is used for obtaining the motion vector MV from the second pixel area to the block to be coded to obtain a second MV corresponding to the Y value of the block to be coded.
Through the embodiment, the resolution of the reconstructed block of the coded block is unified into the first resolution from the initial resolution, so that the pixel area matched with the current block to be coded can be conveniently searched under the same resolution, the coding efficiency can be improved, and the coding effect is improved.
It should be noted that, the above modules may be implemented by software or hardware, and for the latter, the following may be implemented, but not limited to: the modules are all positioned in the same processor; alternatively, the modules are respectively located in different processors in any combination.
According to a further aspect of an embodiment of the present invention, there is also provided a computer-readable storage medium having a computer program stored thereon, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
Alternatively, in the present embodiment, the above-mentioned computer-readable storage medium may be configured to store a computer program for executing the steps of:
s1, when the initial resolution of the reconstructed block of the decoded block of the video frame to be decoded is higher than the first resolution a x b adopted by the block to be decoded in the decoding process, directly adjusting the resolution of the reconstructed block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image;
s2, determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
s3, determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded;
and S4, determining the UV value of the pixel point obtained after the block to be decoded is decoded according to the UV value of the pixel point in the first pixel region.
Alternatively, in the present embodiment, the above-mentioned computer-readable storage medium may be configured to store a computer program for executing the steps of:
s1, under the condition that the initial resolution of a reconstruction block of a coded block of a video frame to be coded is higher than the first resolution a x b adopted by the coded block of the video frame to be coded during coding, directly adjusting the resolution of the reconstruction block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be coded is a YUV image;
s2, determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
s3, searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded;
s4, obtaining the MV from the first pixel area to the block to be coded, and obtaining the first MV corresponding to the UV value of the block to be coded.
Alternatively, in this embodiment, a person skilled in the art may understand that all or part of the steps in the methods of the foregoing embodiments may be implemented by a program instructing hardware associated with the terminal device, where the program may be stored in a computer-readable storage medium, and the storage medium may include: flash disks, Read-Only memories (ROMs), Random Access Memories (RAMs), magnetic or optical disks, and the like.
According to yet another aspect of the embodiments of the present invention, there is also provided an electronic device for implementing the video decoding method or the video encoding method, as shown in fig. 12, the electronic device includes a memory 1202 and a processor 1204, the memory 1202 stores a computer program, and the processor 1204 is configured to execute the steps in any one of the above method embodiments through the computer program.
Optionally, in this embodiment, the electronic apparatus may be located in at least one network device of a plurality of network devices of a computer network.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, when the initial resolution of the reconstructed block of the decoded block of the video frame to be decoded is higher than the first resolution a x b adopted by the block to be decoded in the decoding process, directly adjusting the resolution of the reconstructed block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image;
s2, determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
s3, determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded;
and S4, determining the UV value of the pixel point obtained after the block to be decoded is decoded according to the UV value of the pixel point in the first pixel region.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, under the condition that the initial resolution of a reconstruction block of a coded block of a video frame to be coded is higher than the first resolution a x b adopted by the coded block of the video frame to be coded during coding, directly adjusting the resolution of the reconstruction block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be coded is a YUV image;
s2, determining a first region to be matched with a second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
s3, searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded;
s4, obtaining the MV from the first pixel area to the block to be coded, and obtaining the first MV corresponding to the UV value of the block to be coded.
Alternatively, it can be understood by those skilled in the art that the structure shown in fig. 12 is only an illustration, and the electronic device may also be a terminal device such as a smart phone (e.g., an Android phone, an iOS phone, etc.), a tablet computer, a palm computer, a Mobile Internet Device (MID), a PAD, and the like. Fig. 12 is a diagram illustrating a structure of the electronic device. For example, the electronic device may also include more or fewer components (e.g., network interfaces, etc.) than shown in FIG. 12, or have a different configuration than shown in FIG. 12.
The memory 1202 may be used to store software programs and modules, such as program instructions/modules corresponding to the video decoding method and apparatus or the video encoding method and apparatus in the embodiments of the present invention, and the processor 1204 executes various functional applications and data processing by executing the software programs and modules stored in the memory 1202, so as to implement the video decoding method or the video encoding method. The memory 1202 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 1202 can further include memory located remotely from the processor 1204, which can be connected to a terminal over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof. The memory 1202 may be, but not limited to, specifically used for storing information such as sample characteristics of the item and the target virtual resource account number. As an example, as shown in fig. 12, the memory 1202 may include, but is not limited to, a first adjusting unit 1002, a first determining unit 1004, a second determining unit 1006, and a third determining unit 1008 in the video decoding apparatus. As another example, the memory 1202 may include, but is not limited to, the first adjusting unit 1102, the first determining unit 1104, the first searching unit 1106, and the first obtaining unit 1108 of the video encoding apparatus. In addition, the video encoding apparatus may further include, but is not limited to, other module units in the video decoding apparatus or the video encoding apparatus, which is not described in this example again.
Optionally, the transmitting device 1206 is configured to receive or transmit data via a network. Examples of the network may include a wired network and a wireless network. In one example, the transmitting device 1206 includes a Network adapter (NIC) that can be connected to a router via a Network cable to communicate with the internet or a local area Network. In one example, the transmitting device 1206 is a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
In addition, the electronic device further includes: a connection bus 1208 for connecting the various module components in the electronic device.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
The integrated unit in the above embodiments, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in the above computer-readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing one or more computer devices (which may be personal computers, servers, network devices, etc.) to execute all or part of the steps of the method according to the embodiments of the present invention.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed client may be implemented in other manners. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (15)

1. A video decoding method, comprising:
under the condition that the initial resolution of a reconstructed block of a decoded block of a video frame to be decoded is higher than a first resolution a x b adopted by the block to be decoded when the block to be decoded of the video frame to be decoded is decoded, directly adjusting the resolution of the reconstructed block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image;
determining a first region to be matched with the second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
determining a first pixel area matched with the UV value of the block to be decoded from the first area to be matched according to a first motion vector MV corresponding to the UV value of the block to be decoded, wherein the first MV is a motion vector from the first pixel area to the block to be decoded, and the size of the first pixel area is the same as that of the block to be decoded;
and determining the UV value of the pixel point obtained after the to-be-decoded block is decoded according to the UV value of the pixel point in the first pixel region.
2. The method of claim 1, wherein directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution comprises:
in the case that the initial resolution is higher than the second resolution, downsampling the resolution of the reconstructed block from the initial resolution to the second resolution;
in the case that the initial resolution is lower than the second resolution, upsampling the resolution of the reconstructed block from the initial resolution to the second resolution.
3. The method of claim 1, wherein directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution comprises:
under the condition that the decoded blocks comprise a plurality of blocks and the plurality of blocks comprise first blocks of which the initial resolution is higher than the second resolution, downsampling the resolution of a reconstructed block of the first block from the initial resolution to the second resolution to obtain first decoded blocks of which the resolution is the second resolution, wherein the first region to be matched comprises a region where the first decoded blocks are located;
and under the condition that the decoded blocks comprise a plurality of blocks and the plurality of blocks comprise a second block of which the initial resolution is lower than the second resolution, upsampling the resolution of a reconstructed block of the second block to the second resolution from the initial resolution to obtain the second decoded block of which the resolution is the second resolution, wherein the first region to be matched comprises a region where the second decoded block is located.
4. The method according to claim 1, wherein after determining the first region to be matched with the second resolution according to the region where the reconstructed block is located, the method further comprises:
and under the condition that the decoded block comprises a plurality of blocks, performing edge filtering on pixel points on adjacent edges of adjacent pixel blocks in the first region to be matched, wherein the adjacent pixel blocks are pixel blocks in the first region to be matched and corresponding to adjacent blocks in the plurality of blocks.
5. The method of claim 1, wherein determining the UV value of the pixel point obtained after decoding the block to be decoded according to the UV value of the pixel point in the first pixel region comprises:
determining a second pixel point position matched with a first pixel point position in the block to be decoded in the first area to be matched, wherein a motion vector from the second pixel point position to the first pixel point position is the first MV;
and determining the first pixel area in the first area to be matched according to the position of the second pixel point, wherein the relative position of the second pixel point in the first pixel area is the same as the relative position of the first pixel point in the block to be decoded.
6. The method according to any one of claims 1 to 5, further comprising:
adjusting a resolution of the reconstructed block from the initial resolution to the first resolution;
determining a second region to be matched with the first resolution according to the region where the reconstruction block is located, wherein the second region to be matched is a pixel region to be subjected to Y value matching;
determining a second pixel area matched with the block to be decoded from the second area to be matched according to a second MV corresponding to the Y value of the block to be decoded, wherein the second MV is a motion vector from the second pixel area to the block to be decoded, and the size of the second pixel area is the same as that of the block to be decoded;
and determining the Y value of the pixel point obtained after the block to be decoded is decoded according to the Y value of the pixel point in the second pixel region.
7. A video encoding method, comprising:
under the condition that the initial resolution of a reconstruction block of an encoded block of a video frame to be encoded is higher than a first resolution a x b adopted by the block to be encoded during encoding, directly adjusting the resolution of the reconstruction block from the initial resolution to a second resolution na x nb, wherein n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image;
determining a first region to be matched with the second resolution according to the region where the reconstruction block is located, wherein the first region to be matched is a pixel region to be subjected to UV value matching;
searching a first pixel area matched with the UV value of the block to be coded in the first area to be matched, wherein the size of the first pixel area is the same as that of the block to be coded;
and obtaining a motion vector MV from the first pixel area to the block to be coded to obtain a first MV corresponding to the UV value of the block to be coded.
8. The method of claim 7, wherein directly adjusting the resolution of the reconstructed block from the initial resolution to the second resolution comprises:
under the condition that the coded block comprises a plurality of blocks and the plurality of blocks comprise a first block of which the initial resolution is higher than the second resolution, downsampling the resolution of a reconstructed block of the first block from the initial resolution to the second resolution to obtain a first coded block of which the resolution is the second resolution, wherein the first region to be matched comprises a region where the first coded block is located;
and under the condition that the encoded block comprises a plurality of blocks and the plurality of blocks comprise a second block of which the initial resolution is lower than the second resolution, upsampling the resolution of a reconstructed block of the second block from the initial resolution to the second resolution to obtain a second encoded block of which the resolution is the second resolution, wherein the first region to be matched comprises a region where the second encoded block is located.
9. The method of claim 7, wherein after adjusting the resolution of the reconstructed block of the encoded block of the video frame to be encoded from the initial resolution to the second resolution, the method further comprises:
and under the condition that the coded block comprises a plurality of blocks, performing edge filtering on pixel points on adjacent edges of adjacent pixel blocks in the first region to be matched, wherein the adjacent pixel blocks are pixel blocks in the first region to be matched and corresponding to adjacent blocks in the plurality of blocks.
10. The method of claim 7, wherein searching the first pixel region matching the block to be coded in the first region to be matched comprises:
using a preset step length to sequentially acquire a plurality of candidate pixel areas with the same size as the block to be coded from the first area to be matched according to the sequence of first-row-after-row or first-row-after-row;
and determining the first pixel region from the candidate pixel regions, wherein the first pixel region is a candidate pixel region which has the highest similarity with the block to be encoded and has a similarity higher than a similarity threshold with the block to be encoded.
11. The method according to any one of claims 7 to 10, further comprising:
adjusting a resolution of the reconstructed block from the initial resolution to the first resolution;
determining a second region to be matched with the first resolution according to the region where the reconstruction block is located, wherein the second region to be matched is a pixel region to be subjected to Y value matching;
searching a second pixel area matched with the Y value of the block to be coded in the second area to be matched, wherein the size of the second pixel area is the same as that of the block to be coded;
and obtaining a motion vector MV from the second pixel area to the block to be coded to obtain a second MV corresponding to the Y value of the block to be coded.
12. A video decoding apparatus, comprising:
a first adjusting unit, configured to, in a case that an initial resolution of a reconstructed block of a decoded block of a video frame to be decoded is higher than a first resolution a × b adopted by the block to be decoded in decoding of the video frame to be decoded, directly adjust a resolution of the reconstructed block from the initial resolution to a second resolution na × nb, where n is an integer greater than or equal to 2, and the video frame to be decoded is a YUV image;
a first determining unit, configured to determine, according to a region where the reconstruction block is located, a first to-be-matched region with a resolution of the second resolution, where the to-be-decoded video frame is a YUV image, and the first to-be-matched region is a pixel region to be subjected to UV value matching;
a second determining unit, configured to determine, according to a first motion vector MV corresponding to a UV value of the block to be decoded, a first pixel region that matches the UV value of the block to be decoded from the first region to be matched, where the first MV is a motion vector from the first pixel region to the block to be decoded, and a size of the first pixel region is the same as a size of the block to be decoded;
and the third determining unit is used for determining the UV value of the pixel point obtained after the to-be-decoded block is decoded according to the UV value of the pixel point in the first pixel region.
13. A video encoding apparatus, comprising:
the device comprises a first adjusting unit, a second adjusting unit and a third adjusting unit, wherein the first adjusting unit is used for directly adjusting the resolution of a reconstructed block of an encoded block of a video frame to be encoded to a second resolution na × nb from an initial resolution under the condition that the initial resolution is higher than a first resolution a × b adopted by the encoded block of the video frame to be encoded during encoding, n is an integer greater than or equal to 2, and the video frame to be encoded is a YUV image;
a first determining unit, configured to obtain a first to-be-matched region with a resolution that is the second resolution according to a region where the reconstruction block is located, where the to-be-encoded video frame is a YUV image, and the first to-be-matched region is a pixel region to be subjected to UV value matching;
a first searching unit, configured to search, in the first area to be matched, a first pixel area that matches the UV value of the block to be coded, where a size of the first pixel area is the same as a size of the block to be coded;
and the first obtaining unit is used for obtaining the motion vector MV from the first pixel area to the block to be coded to obtain a first MV corresponding to the UV value of the block to be coded.
14. A computer-readable storage medium comprising a stored program, wherein the program when executed performs the method of any of claims 1 to 11.
15. An electronic device comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to execute the method of any of claims 1 to 11 by means of the computer program.
CN201910927119.6A 2019-09-27 2019-09-27 Video encoding method and apparatus, video decoding method and apparatus, and storage medium Active CN110677676B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910927119.6A CN110677676B (en) 2019-09-27 2019-09-27 Video encoding method and apparatus, video decoding method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910927119.6A CN110677676B (en) 2019-09-27 2019-09-27 Video encoding method and apparatus, video decoding method and apparatus, and storage medium

Publications (2)

Publication Number Publication Date
CN110677676A true CN110677676A (en) 2020-01-10
CN110677676B CN110677676B (en) 2024-02-09

Family

ID=69079703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910927119.6A Active CN110677676B (en) 2019-09-27 2019-09-27 Video encoding method and apparatus, video decoding method and apparatus, and storage medium

Country Status (1)

Country Link
CN (1) CN110677676B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586416A (en) * 2020-06-02 2020-08-25 浙江大华技术股份有限公司 Video coding method, video coding device, video coder and storage device
WO2023193804A1 (en) * 2022-04-08 2023-10-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120093226A1 (en) * 2010-10-13 2012-04-19 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US20130077883A1 (en) * 2010-04-09 2013-03-28 Kazuya Ogawa Image processing apparatus and method
WO2013113134A1 (en) * 2012-02-02 2013-08-08 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
US9154808B2 (en) * 2005-01-14 2015-10-06 Thomson Licensing Method and apparatus for INTRA prediction for RRU
US20160212373A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
CN108769682A (en) * 2018-06-20 2018-11-06 腾讯科技(深圳)有限公司 Video coding, coding/decoding method, device, computer equipment and storage medium
CN108833916A (en) * 2018-06-20 2018-11-16 腾讯科技(深圳)有限公司 Video coding, coding/decoding method, device, storage medium and computer equipment
CN108848380A (en) * 2018-06-20 2018-11-20 腾讯科技(深圳)有限公司 Video coding and decoding method, apparatus, computer equipment and storage medium
CN109274969A (en) * 2017-07-17 2019-01-25 华为技术有限公司 The method and apparatus of colorimetric prediction
CN109618168A (en) * 2018-11-06 2019-04-12 建湖云飞数据科技有限公司 It is a kind of based on divide pixel value difference handle video encoding/decoding method
US20190281303A1 (en) * 2018-03-07 2019-09-12 Tencent America LLC Method and apparatus for video coding

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154808B2 (en) * 2005-01-14 2015-10-06 Thomson Licensing Method and apparatus for INTRA prediction for RRU
US20130077883A1 (en) * 2010-04-09 2013-03-28 Kazuya Ogawa Image processing apparatus and method
US20120093226A1 (en) * 2010-10-13 2012-04-19 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
WO2013113134A1 (en) * 2012-02-02 2013-08-08 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
US20160212373A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
CN107592972A (en) * 2015-05-11 2018-01-16 高通股份有限公司 Region of search for the Interframe coding in particular picture in video data determines
US20160337661A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
CN109274969A (en) * 2017-07-17 2019-01-25 华为技术有限公司 The method and apparatus of colorimetric prediction
US20190281303A1 (en) * 2018-03-07 2019-09-12 Tencent America LLC Method and apparatus for video coding
CN108769682A (en) * 2018-06-20 2018-11-06 腾讯科技(深圳)有限公司 Video coding, coding/decoding method, device, computer equipment and storage medium
CN108833916A (en) * 2018-06-20 2018-11-16 腾讯科技(深圳)有限公司 Video coding, coding/decoding method, device, storage medium and computer equipment
CN108848380A (en) * 2018-06-20 2018-11-20 腾讯科技(深圳)有限公司 Video coding and decoding method, apparatus, computer equipment and storage medium
CN109618168A (en) * 2018-11-06 2019-04-12 建湖云飞数据科技有限公司 It is a kind of based on divide pixel value difference handle video encoding/decoding method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586416A (en) * 2020-06-02 2020-08-25 浙江大华技术股份有限公司 Video coding method, video coding device, video coder and storage device
WO2023193804A1 (en) * 2022-04-08 2023-10-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
CN110677676B (en) 2024-02-09

Similar Documents

Publication Publication Date Title
JP7461974B2 (en) Chroma prediction method and device
CN111681167B (en) Image quality adjusting method and device, storage medium and electronic equipment
CN108833917B (en) Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, computer device, and storage medium
CN108848377B (en) Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, computer device, and storage medium
CN110636294A (en) Video decoding method and device, and video encoding method and device
CN110636312A (en) Video encoding and decoding method and device and storage medium
CN110545433B (en) Video encoding and decoding method and device and storage medium
CN110572673B (en) Video encoding and decoding method and device, storage medium and electronic device
CN110519607B (en) Video decoding method and device, and video encoding method and device
CN110677676B (en) Video encoding method and apparatus, video decoding method and apparatus, and storage medium
CN110650357A (en) Video decoding method and device
CN110662071B (en) Video decoding method and device, storage medium and electronic device
CN110572677B (en) Video encoding and decoding method and device, storage medium and electronic device
CN110572672B (en) Video encoding and decoding method and device, storage medium and electronic device
CN110677653B (en) Video encoding and decoding method and device and storage medium
CN112601095A (en) Method and system for creating fractional interpolation model of video brightness and chrominance
CN110677690B (en) Video processing method and device and storage medium
CN110582022B (en) Video encoding and decoding method and device and storage medium
CN110677721B (en) Video encoding and decoding method and device and storage medium
CN115442617A (en) Video processing method and device based on video coding
CN110572676B (en) Video encoding method and apparatus, video decoding method and apparatus, and storage medium
CN110636293B (en) Video encoding and decoding methods and devices, storage medium and electronic device
CN110662060B (en) Video encoding method and apparatus, video decoding method and apparatus, and storage medium
CN110636295B (en) Video encoding and decoding method and device, storage medium and electronic device
CN110677691B (en) Video encoding method, video decoding method, video encoding apparatus, video decoding apparatus, storage medium, and electronic apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40019527

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant