WO2020007187A1 - Procédé et dispositif de décodage de bloc d'image - Google Patents

Procédé et dispositif de décodage de bloc d'image Download PDF

Info

Publication number
WO2020007187A1
WO2020007187A1 PCT/CN2019/091505 CN2019091505W WO2020007187A1 WO 2020007187 A1 WO2020007187 A1 WO 2020007187A1 CN 2019091505 W CN2019091505 W CN 2019091505W WO 2020007187 A1 WO2020007187 A1 WO 2020007187A1
Authority
WO
WIPO (PCT)
Prior art keywords
correction amount
image block
prediction
preset
value
Prior art date
Application number
PCT/CN2019/091505
Other languages
English (en)
Chinese (zh)
Inventor
赵寅
马祥
杨海涛
陈建乐
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020007187A1 publication Critical patent/WO2020007187A1/fr

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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present application relates to the technical field of video coding and decoding, and in particular, to a method and a device for decoding an image block.
  • Digital video capabilities can be incorporated into a wide variety of devices, including digital television, digital live broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-book readers, Digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio phones (so-called "smart phones"), video teleconferencing devices, video streaming devices, and the like .
  • Digital video devices implement video compression technology, for example, in standards defined by MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264 / MPEG-4 Part 10 Advanced Video Coding (AVC), Video coding standards described in the H.265 / High Efficiency Video Coding (HEVC) standard and extensions to such standards.
  • Video devices can implement such video compression techniques to more efficiently transmit, receive, encode, decode, and / or store digital video information.
  • Video compression techniques perform spatial (intra-image) prediction and / or temporal (inter-image) prediction to reduce or remove redundancy inherent in video sequences.
  • a video slice ie, a video frame or a portion of a video frame
  • image blocks can also be referred to as tree blocks, coding units (CU), and / or coding nodes .
  • Spatial predictions about reference samples in neighboring blocks in the same image are used to encode image blocks in the to-be-encoded (I) slice of the image.
  • the image blocks in the to-be-intercoded (P or B) slice of the image may use spatial prediction relative to reference samples in neighboring blocks in the same image or temporal prediction relative to reference samples in other reference images.
  • An image may be referred to as a frame, and a reference image may be referred to as a reference frame.
  • various video coding standards including the High-Efficiency Video Coding (HEVC) standard have proposed predictive coding modes for image blocks, that is, predicting a current block to be coded based on a video data block that has been coded.
  • HEVC High-Efficiency Video Coding
  • intra prediction mode the current block is predicted based on one or more previously decoded neighboring blocks in the same image as the current block; in inter prediction mode, the current block is predicted based on already decoded blocks in different images.
  • the intra prediction mode includes a directional mode and a non-directional mode
  • the non-directional mode includes a direct current (DC) mode and a plane (Planar) mode.
  • An existing Planar mode uses the following methods to generate any pixel in the current image block. Predicted value, the predicted value of the pixel is recorded as P (x, y), where (x, y) represents the coordinate position of the pixel, the upper left corner of the current image block is the (0,0) position, and the horizontal right is the positive direction of the x axis , Vertical downward is the positive direction of the y-axis.
  • the prediction value of the pixel closer to P (W, H) is closer to P (W, H).
  • the prediction residual in the lower right part of the prediction image generated by this prediction method is large and the prediction efficiency is low.
  • the embodiments of the present application provide an image block decoding method and device, which can improve the prediction accuracy of the motion information of the image block, thereby improving the encoding and decoding performance.
  • an image block decoding method including: parsing a bitstream to obtain a prediction residual, a prediction mode, and prediction reference information of a current image block to be decoded; wherein when the prediction mode is a planar prediction mode, The prediction reference information includes a prediction correction amount sequence number; if the prediction mode of the current image block is a planar prediction mode, determining a prediction correction amount based on the prediction correction amount number; and obtaining a A predicted image; obtaining a reconstructed image of the current image block based on the predicted image of the current image block and the prediction residual of the current image block.
  • determining the prediction correction amount based on the prediction correction amount number includes: if the prediction correction amount number is a first preset number, determining the prediction correction amount as A first preset correction amount; if the predicted correction amount number is a second preset number, determining the predicted correction amount as a second preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the determining a prediction correction amount based on the prediction correction amount number includes:
  • the predicted correction amount number is a first preset number, determine the predicted correction amount as a third preset number; if the predicted correction amount is a second preset number, determine the predicted correction amount Is the fourth preset correction amount; if the predicted correction amount number is a third preset number, determining that the predicted correction amount is a fifth preset correction amount; or if the predicted correction amount number is a fourth preset number
  • the serial number determines that the predicted correction amount is a sixth preset correction amount.
  • the third preset correction amount and the fourth preset correction amount are opposite numbers to each other; and the fifth preset correction amount and the sixth preset correction amount are opposite numbers to each other.
  • the first preset serial number can be 1, the second preset serial number can be 2, the third preset serial number can be 3, and the fourth preset serial number can be 4.
  • the third preset correction amount and the fifth preset correction amount are preset positive integers, and the fifth preset correction amount is greater than the third preset correction amount.
  • the fifth preset correction amount may be the third preset correction amount.
  • the amount is 1.75 times, or 2 times, or 2.25 times.
  • the determining a prediction correction amount based on the prediction correction amount number includes: comparing a value of a lower left reference pixel of the current image block with an upper right reference pixel of the current image block The weighted average value is used to obtain a weighted average value; when the weighted average value is less than the value of the upper left reference pixel of the current image block, if the prediction correction amount serial number is a first preset serial number, the prediction is determined The correction amount is a first preset correction amount; if the predicted correction amount number is a second preset number, determining that the predicted correction amount is a second preset correction amount; or when the weighted average is not less than the weighted average When the value of the upper left reference pixel of the current image block is, if the predicted correction amount is a first preset number, it is determined that the predicted correction amount is a second preset correction amount; if the predicted correction amount number is a second The preset serial number determines that the predicted correction
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the weighted average value may specifically be a predicted value of a lower right pixel of the current image block, and may be obtained by, for example, the following calculation formula:
  • P1 (W, H) P (W, –1) * a + P (–1, H) * (1–a);
  • P1 (W, H) represents the predicted value of the lower right pixel
  • P (W, –1) represents the value of the upper right reference pixel
  • P (–1, H) represents the value of the lower left reference pixel
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • the upper left reference pixel, the lower left reference pixel, the upper right reference pixel, and the lower right pixel do not belong to the current image block.
  • the current image block is an image block of W * H
  • the range of the abscissa of the pixel in the current image block is [0, W-1]
  • the range of the ordinate of the pixel in the current image block is [ 0, H-1]
  • the coordinates of the upper left reference pixel are (-1, -1)
  • the coordinates of the lower left reference pixel are (-1, H)
  • the coordinates of the lower right pixel are ( W, H)
  • the coordinates of the upper right reference pixel are (W, -1).
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • determining the prediction correction amount based on the prediction correction amount number includes: if the prediction correction amount number is a first preset number, based on a lower left of the current image block The value of the reference pixel, the value of the upper right reference pixel of the current image block and the value of the upper left reference pixel of the current image block are used to obtain a difference value; and the prediction correction amount is determined based on the difference value.
  • the difference value is obtained through calculation by the following calculation formula:
  • D represents the difference value
  • P (W, –1) represents the value of the lower left reference pixel of the current image block
  • P (–1, H) represents the value of the upper right reference pixel of the current image block
  • P (–1, –1) represents the value of the upper left reference pixel of the current image block
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • a can also be the same as all
  • the determining the prediction correction amount based on the difference value includes:
  • the prediction correction amount is determined based on the following calculation formula:
  • M represents the predicted correction amount
  • D represents the difference value.
  • B3 is a preset positive integer
  • B4 is a preset positive integer
  • the obtaining a predicted image of the current image block based on the prediction correction amount includes: based on the prediction correction The predicted value of the lower right pixel of the current image block is modified by a quantity; and the predicted image of the current image block is obtained based on the corrected value of the predicted value of the lower right pixel of the current image block.
  • the method before obtaining a prediction image of the current image block based on a correction value of a prediction value of a lower right pixel of the current image block
  • the method further includes: limiting the correction value of the predicted value of the lower right pixel of the current image block to a preset value range, the preset value range is [0, pow (2, N ) –1], where pow (2, N) represents the Nth power of 2, and N represents the bit width.
  • the prediction value of the prediction value of the lower right pixel of the current image block is less than 0, the prediction value of the lower right pixel of the current image block is corrected to 0, that is, the correction value of the prediction value of the lower right pixel of the current image block is 0; if the correction value of the prediction value of the bottom right pixel of the current image block is greater than, the prediction value of the bottom right pixel of the current image block is modified to pow (2, N) -1, that is, the The correction value of the predicted value is pow (2, N) –1; if the correction value of the predicted value of the lower right pixel of the current image block is greater than or equal to 0 and less than or equal to pow (2, N) –1, then it is not required Correct the predicted value of the lower right pixel of the current image block, that is, the predicted value of the lower right pixel of the current image block is the predicted value of the lower right pixel of the current image block.
  • an image block decoding apparatus including: an entropy decoder for parsing a bitstream to obtain a prediction residual, a prediction mode, and prediction reference information of a current image block to be decoded; wherein, in the prediction mode, When the prediction mode is a planar prediction mode, the prediction reference information includes a prediction correction quantity number; an intra predictor is used to determine a prediction correction quantity based on the prediction correction quantity number when the prediction mode of the current image block is a planar prediction mode; Obtaining a predicted image of the current image block based on the prediction correction amount; a reconstruction unit for obtaining a reconstruction of the current image block based on the predicted image of the current image block and the prediction residual of the current image block image.
  • the intra predictor is specifically configured to: if the prediction correction amount is a first preset number, determine the prediction correction amount as a first preset correction Or if the serial number of the predicted correction amount is a second preset serial number, determining that the predicted correction amount is a second preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the intra predictor is specifically configured to: if the prediction correction amount is a first preset number, determine that the prediction correction amount is a third preset correction If the predicted correction amount number is a second preset number, determine the predicted correction amount as a fourth preset number; if the predicted correction amount serial number is a third preset number, determine the prediction The correction amount is a fifth preset correction amount; or if the predicted correction amount number is a fourth preset number, determining that the predicted correction amount is a sixth preset correction amount.
  • the third preset correction amount and the fourth preset correction amount are opposite numbers to each other; and the fifth preset correction amount and the sixth preset correction amount are opposite numbers to each other.
  • the first preset serial number can be 1, the second preset serial number can be 2, the third preset serial number can be 3, and the fourth preset serial number can be 4.
  • the third preset correction amount and the fifth preset correction amount are preset positive integers, and the fifth preset correction amount is greater than the third preset correction amount.
  • the fifth preset correction amount may be the third preset correction amount.
  • the amount is 1.75 times, or 2 times, or 2.25 times.
  • the intra predictor is specifically configured to:
  • the predicted correction amount number is a first preset number, determining the predicted correction amount as a first preset correction amount; if If the predicted correction amount is a second preset number, it is determined that the predicted correction amount is a second preset correction amount; or
  • the prediction correction amount is a first preset number, determining that the prediction correction amount is a second preset correction amount; If the predicted correction amount is a second preset number, it is determined that the predicted correction amount is a first preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the weighted average value may specifically be a predicted value of a lower right pixel of the current image block, and may be obtained by, for example, the following calculation formula:
  • P1 (W, H) P (W, –1) * a + P (–1, H) * (1–a);
  • P1 (W, H) represents the predicted value of the lower right pixel
  • P (W, –1) represents the value of the upper right reference pixel
  • P (–1, H) represents the value of the lower left reference pixel
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • the upper left reference pixel, the lower left reference pixel, the upper right reference pixel, and the lower right pixel do not belong to the current image block.
  • the current image block is an image block of W * H
  • the range of the abscissa of the pixel in the current image block is [0, W-1]
  • the range of the ordinate of the pixel in the current image block is [ 0, H-1]
  • the coordinates of the upper left reference pixel are (-1, -1)
  • the coordinates of the lower left reference pixel are (-1, H)
  • the coordinates of the lower right pixel are ( W, H)
  • the coordinates of the upper right reference pixel are (W, -1).
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the intra predictor is specifically configured to: if the prediction correction amount sequence number is a first preset sequence number, based on a value of a lower left reference pixel of the current image block, A difference value is obtained from the value of the upper right reference pixel of the current image block and the value of the upper left reference pixel of the current image block; and the prediction correction amount is determined based on the difference value.
  • the intra predictor is specifically configured to obtain the difference value through calculation using the following calculation formula:
  • D represents the difference value
  • P (W, –1) represents the value of the lower left reference pixel of the current image block
  • P (–1, H) represents the value of the upper right reference pixel of the current image block
  • P (–1, –1) represents the value of the upper left reference pixel of the current image block
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • a can also be the same as all
  • the intra predictor is specifically configured to:
  • the prediction correction amount is determined based on the following calculation formula:
  • M represents the predicted correction amount
  • D represents the difference value
  • sign (D) represents the sign of taking the difference value
  • B3 is a preset positive integer
  • B4 is a preset positive integer
  • the intra predictor is specifically configured to: The prediction value of the lower right pixel is modified; based on the correction value of the prediction value of the lower right pixel of the current image block, a predicted image of the current image block is obtained.
  • the intra predictor is further specifically configured to: modify a prediction value of a lower right pixel of the current image block by a correction value Limited to a preset value range, the preset value range is [0, pow (2, N) –1], where pow (2, N) represents the Nth power of 2, and N represents the bit Wide; obtaining a predicted image of the current image block based on a correction value of a predicted value of a lower-right pixel of the current image block that is restricted within the preset value range.
  • the prediction value of the prediction value of the lower right pixel of the current image block is less than 0, the prediction value of the lower right pixel of the current image block is corrected to 0, that is, the correction value of the prediction value of the lower right pixel of the current image block is 0; if the correction value of the prediction value of the bottom right pixel of the current image block is greater than, the prediction value of the bottom right pixel of the current image block is modified to pow (2, N) -1, that is, the The correction value of the predicted value is pow (2, N) –1; if the correction value of the predicted value of the lower right pixel of the current image block is greater than or equal to 0 and less than or equal to pow (2, N) –1, then it is not required Correct the predicted value of the lower right pixel of the current image block, that is, the predicted value of the lower right pixel of the current image block is the predicted value of the lower right pixel of the current image block.
  • a decoder including: a non-volatile memory and a processor coupled to each other, the processor calling program code stored in the memory to execute the first aspect or any of the first aspect Some or all steps of a method in one implementation.
  • a computer-readable storage medium stores program code, where the program code includes a method for executing the first aspect or any implementation manner of the first aspect. Instructions for some or all steps of the method.
  • a computer program product is provided, and when the computer program product is run on a computer, the computer is caused to perform part or all of the steps of the method in the first aspect or any one of the implementation manners of the first aspect. Instructions.
  • FIG. 1 is a schematic block diagram of a video encoding and decoding system according to an embodiment of the present application
  • FIG. 2A is a schematic block diagram of a video encoder according to an embodiment of the present application.
  • 2B is a schematic block diagram of a video decoder according to an embodiment of the present application.
  • FIG. 3 is a flowchart of a video encoding method according to an embodiment of the present application.
  • FIG. 4 is a flowchart of a video decoding method according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a video decoding device according to an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an encoding device or a decoding device according to an embodiment of the present application.
  • FIG. 7A is a schematic diagram of acquiring a horizontal prediction value of a current pixel in the prior art
  • FIG. 7B is a schematic diagram of acquiring a vertical prediction value of a current pixel in the prior art.
  • Encoding a video stream, or a portion thereof, such as a video frame or an image block can use temporal and spatial similarities in the video stream to improve encoding performance.
  • the current image block of a video stream can predict motion information for the current image block based on previously encoded blocks in the video stream, and identify the difference between the predicted block and the current image block (that is, the original block) (also known as the original block) Is the residual), thereby encoding the current image block based on the previously encoded block.
  • the original block also known as the original block
  • Is the residual the difference between the predicted block and the current image block (that is, the original block) (also known as the original block) Is the residual)
  • the motion vector is an important parameter in the inter prediction process, which represents the spatial displacement of a previously coded block relative to the current coded block.
  • Motion vectors can be obtained using motion estimation methods, such as motion search.
  • the bits representing the motion vector were included in the encoded bit stream to allow the decoder to reproduce the predicted block and then obtain the reconstructed block.
  • it was later proposed to use the reference motion vector to differentially encode the motion vector that is, instead of encoding the entire motion vector, only the difference between the motion vector and the reference motion vector was encoded.
  • the reference motion vector may be selected from previously used motion vectors in the video stream. Selecting a previously used motion vector to encode the current motion vector can further reduce the number of bits included in the encoded video bitstream .
  • FIG. 1 is a block diagram of a video decoding system 1 according to an example described in the embodiment of the present application.
  • video coder generally refers to both video encoders and video decoders.
  • video coding or “coding” may generally refer to video encoding or video decoding.
  • the video encoder 100 and the video decoder 200 of the video coding system 1 are configured to predict a current coded image block according to various method examples described in any of a variety of new inter prediction modes proposed in the present application.
  • the motion information of the sub-block or its sub-blocks makes the predicted motion vector close to the motion vector obtained by using the motion estimation method to the greatest extent, so that the motion vector difference value is not transmitted during encoding, thereby further improving the encoding and decoding performance.
  • the video decoding system 1 includes a source device 10 and a destination device 20.
  • the source device 10 generates encoded video data. Therefore, the source device 10 may be referred to as a video encoding device.
  • the destination device 20 may decode the encoded video data generated by the source device 10. Therefore, the destination device 20 may be referred to as a video decoding device.
  • Various implementations of the source device 10, the destination device 20, or both may include one or more processors and a memory coupled to the one or more processors.
  • the memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store the desired program code in the form of instructions or data structures accessible by a computer, as described herein.
  • the source device 10 and the destination device 20 may include various devices including desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets, such as so-called “smart” phones, etc. Cameras, televisions, cameras, display devices, digital media players, video game consoles, on-board computers, or the like.
  • the destination device 20 may receive the encoded video data from the source device 10 via the link 30.
  • the link 30 may include one or more media or devices capable of moving the encoded video data from the source device 10 to the destination device 20.
  • the link 30 may include one or more communication media enabling the source device 10 to directly transmit the encoded video data to the destination device 20 in real time.
  • the source device 10 may modulate the encoded video data according to a communication standard, such as a wireless communication protocol, and may transmit the modulated video data to the destination device 20.
  • the one or more communication media may include wireless and / or wired communication media, such as a radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • the one or more communication media may form part of a packet-based network, such as a local area network, a wide area network, or a global network (eg, the Internet).
  • the one or more communication media may include a router, a switch, a base station, or other devices that facilitate communication from the source device 10 to the destination device 20.
  • the encoded data may be output from the output interface 140 to the storage device 40.
  • the encoded data can be accessed from the storage device 40 through the input interface 240.
  • the storage device 40 may include any of a variety of distributed or locally accessed data storage media, such as a hard drive, Blu-ray disc, DVD, CD-ROM, flash memory, volatile or non-volatile memory, Or any other suitable digital storage medium for storing encoded video data.
  • the storage device 40 may correspond to a file server or another intermediate storage device that may hold the encoded video produced by the source device 10.
  • the destination device 20 may access the stored video data from the storage device 40 via streaming or download.
  • the file server may be any type of server capable of storing encoded video data and transmitting the encoded video data to the destination device 20.
  • Example file servers include a web server (eg, for a website), an FTP server, a network attached storage (NAS) device, or a local disk drive.
  • the destination device 20 can access the encoded video data through any standard data connection, including an Internet connection.
  • This may include a wireless channel (e.g., a Wi-Fi connection), a wired connection (e.g., DSL, cable modem, etc.), or a combination of both suitable for accessing encoded video data stored on a file server.
  • the transmission of the encoded video data from the storage device 40 may be a streaming transmission, a download transmission, or a combination of the two.
  • the motion vector prediction technology of the present application can be applied to video codecs to support a variety of multimedia applications, such as air television broadcasting, cable television transmission, satellite television transmission, streaming video transmission (e.g., via the Internet), for storage in data storage Encoding of video data on media, decoding of video data stored on data storage media, or other applications.
  • the video coding system 1 may be used to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and / or video telephony.
  • the video decoding system 1 illustrated in FIG. 1 is only an example, and the techniques of the present application can be applied to a video decoding setting (for example, video encoding or video decoding) that does not necessarily include any data communication between the encoding device and the decoding device. .
  • data is retrieved from local storage, streamed over a network, and so on.
  • the video encoding device may encode the data and store the data to a memory, and / or the video decoding device may retrieve the data from the memory and decode the data.
  • encoding and decoding are performed by devices that do not communicate with each other, but only encode data to and / or retrieve data from memory and decode data.
  • the source device 10 includes a video source 120, a video encoder 100, and an output interface 140.
  • the output interface 140 may include a regulator / demodulator (modem) and / or a transmitter.
  • Video source 120 may include a video capture device (e.g., a video camera), a video archive containing previously captured video data, a video feed interface to receive video data from a video content provider, and / or a computer for generating video data Graphics systems, or a combination of these sources of video data.
  • the video encoder 100 may encode video data from the video source 120.
  • the source device 10 transmits the encoded video data directly to the destination device 20 via the output interface 140.
  • the encoded video data may also be stored on the storage device 40 for later access by the destination device 20 for decoding and / or playback.
  • the destination device 20 includes an input interface 240, a video decoder 200, and a display device 220.
  • the input interface 240 includes a receiver and / or a modem.
  • the input interface 240 may receive encoded video data via the link 30 and / or from the storage device 40.
  • the display device 220 may be integrated with the destination device 20 or may be external to the destination device 20. Generally, the display device 220 displays decoded video data.
  • the display device 220 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • video encoder 100 and video decoder 200 may each be integrated with an audio encoder and decoder, and may include a suitable multiplexer-demultiplexer unit Or other hardware and software to handle encoding of both audio and video in a common or separate data stream.
  • the MUX-DEMUX unit may conform to the ITU H.223 multiplexer protocol, or other protocols such as the User Datagram Protocol (UDP), if applicable.
  • UDP User Datagram Protocol
  • Video encoder 100 and video decoder 200 may each be implemented as any of a variety of circuits, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), Field Programmable Gate Array (FPGA), discrete logic, hardware, or any combination thereof. If the present application is implemented partially in software, the device may store instructions for the software in a suitable non-volatile computer-readable storage medium and may use one or more processors to execute the instructions in hardware Thus, the technology of the present application is implemented. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) may be considered as one or more processors. Each of video encoder 100 and video decoder 200 may be included in one or more encoders or decoders, any of which may be integrated as a combined encoder in a corresponding device / Decoder (codec).
  • codec device / Decoder
  • This application may generally refer to video encoder 100 as “signaling” or “transmitting” certain information to another device, such as video decoder 200.
  • the terms “signaling” or “transmitting” may generally refer to the transmission of syntax elements and / or other data used to decode compressed video data. This transfer can occur in real time or almost real time. Alternatively, this communication may occur over a period of time, such as when a syntax element is stored in a coded bitstream to a computer-readable storage medium at the time of encoding, and the decoding device may then after the syntax element is stored in this medium. retrieve the syntax element at any time.
  • the video encoder 100 and the video decoder 200 may operate according to a video compression standard such as High Efficiency Video Coding (HEVC) or an extension thereof, and may conform to the HEVC test model (HM).
  • HEVC High Efficiency Video Coding
  • HM HEVC test model
  • the video encoder 100 and video decoder 200 may also operate according to other industry standards, such as the ITU-T H.264, H.265 standards, or extensions of such standards.
  • the techniques of this application are not limited to any particular codec standard.
  • the video encoder 100 is configured to encode syntax elements related to a current image block to be encoded into a digital video output bit stream (referred to as a bit stream or code stream), which will be used between the current image block frames.
  • the syntax element of prediction is referred to as inter-prediction data for short.
  • the inter-prediction data may include a first identifier for indicating whether to use the above-mentioned candidate inter prediction mode set for inter prediction on the current image block (in other words, for indicating whether or not (The first identifier for performing inter prediction on the current image block by using the new inter prediction mode proposed in this application); or, the inter prediction data may include: indicating whether to use a candidate inter prediction mode for the current image block to be encoded
  • the first identifier of the inter-prediction set and the second identifier of the inter-prediction mode for indicating the current image block are collected; in order to determine the inter-prediction mode for encoding the current image block, the video encoder 100 is further configured to: Determine or select the inter prediction mode in the candidate inter prediction mode set used for inter prediction of the current image block (for example, select multiple Encoding the current image block in the inter-prediction mode with a compromise or minimum inter-prediction mode); and encoding the current image block based on the determined inter-prediction mode, the encoding process here may include
  • the difference that is, the residual
  • the difference that is, the residual
  • the current image block that is, the original block
  • the video encoder 100 only needs to program the syntax elements related to the image block to be encoded into a bit stream (also known as a code stream); otherwise, in addition to the syntax elements, the corresponding residuals need to be coded into bits flow.
  • the video decoder 200 is configured to decode a syntax element related to the image block to be decoded from the bit stream.
  • the syntax element used for inter prediction of the current image block is referred to as inter prediction data for short.
  • the inter-prediction data includes a first identifier for indicating whether to use a candidate inter-prediction mode set for inter-prediction for the currently decoded image block (that is, for indicating whether to use the The first identifier of the new inter prediction mode for performing inter prediction) is determined when the inter prediction data indicates that a set of candidate inter prediction modes (that is, a new inter prediction mode) is used to predict the current image block
  • An inter prediction mode for performing inter prediction on the current image block in the candidate inter prediction mode set, and decoding the current image block based on the determined inter prediction mode, and the decoding process here may include based on the determined frame Inter prediction mode, predicting motion information of one or more sub-blocks in the current image block, and using the operation of one or more sub-blocks in the current image block The
  • the video decoder 200 is configured to determine the inter prediction indicated by the second identifier.
  • the mode is an inter-prediction mode for inter-prediction of the current image block; or, if the inter-prediction data does not include a second identifier used to indicate which inter-prediction mode is used by the current image block
  • the video decoder 200 is configured to determine that a first inter prediction mode used for a non-directional motion field is an inter prediction mode used for inter prediction of the current image block.
  • FIG. 2A is a block diagram of a video encoder 100 according to an example described in the embodiment of the present application.
  • the video encoder 100 is configured to output a video to the post-processing entity 41.
  • the post-processing entity 41 represents an example of a video entity that can process encoded video data from the video encoder 100, such as a media-aware network element (MANE) or a stitching / editing device.
  • the post-processing entity 41 may be an instance of a network entity.
  • the post-processing entity 41 and the video encoder 100 may be parts of a separate device, while in other cases, the functionality described with respect to the post-processing entity 41 may be performed by the same device including the video encoder 100 carried out.
  • the post-processing entity 41 is an example of the storage device 40 of FIG. 1.
  • the video encoder 100 may perform encoding of a video image block according to any new inter prediction mode set of candidate inter prediction mode sets including modes 0, 1, 2, ..., or 10 proposed in the present application, for example, perform a video image block. Inter prediction.
  • the video encoder 100 includes a prediction processing unit 108, a filter unit 106, a decoded image buffer (DPB) 107, a summer 112, a transformer 101, a quantizer 102, and an entropy encoder 103.
  • the prediction processing unit 108 includes an inter predictor 110 and an intra predictor 109.
  • the video encoder 100 further includes an inverse quantizer 104, an inverse transformer 105, and a summer 111.
  • the filter unit 106 is intended to represent one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) filter.
  • the filter unit 106 is shown as an in-loop filter in FIG. 2A, in other implementations, the filter unit 106 may be implemented as a post-loop filter.
  • the video encoder 100 may further include a video data memory and a segmentation unit (not shown in the figure).
  • the video data memory may store video data to be encoded by the components of the video encoder 100.
  • the video data stored in the video data storage may be obtained from the video source 120.
  • the DPB 107 may be a reference image memory that stores reference video data used by the video encoder 100 to encode video data in an intra-frame or inter-frame decoding mode.
  • Video data memory and DPB 107 can be formed by any of a variety of memory devices, such as dynamic random access memory (DRAM), synchronous resistive RAM (MRAM), resistive RAM (RRAM) including synchronous DRAM (SDRAM), Or other types of memory devices.
  • Video data storage and DPB 107 can be provided by the same storage device or separate storage devices.
  • the video data memory may be on-chip with other components of video encoder 100, or off-chip relative to those components.
  • the video encoder 100 receives video data and stores the video data in a video data memory.
  • the segmentation unit divides the video data into several image blocks, and these image blocks can be further divided into smaller blocks, such as image block segmentation based on a quad-tree structure or a binary tree structure. This segmentation may also include segmentation into slices, tiles, or other larger units.
  • Video encoder 100 typically illustrates components that encode image blocks within a video slice to be encoded. The slice can be divided into multiple image patches (and possibly into a collection of image patches called slices).
  • the prediction processing unit 108 may select one of a plurality of possible decoding modes for the current image block, such as one of a plurality of intra-coding modes or one of a plurality of inter-coding modes, wherein The multiple inter-frame decoding modes include, but are not limited to, one or more of the modes 0, 1, 2, 3 ... 10 proposed in the present application.
  • the prediction processing unit 108 may provide the obtained intra, inter-coded block to the summer 112 to generate a residual block, and to the summer 111 to reconstruct the encoded block used as a reference image.
  • the intra predictor 109 within the prediction processing unit 108 may perform intra predictive encoding of the current image block with respect to one or more neighboring blocks in the same frame or slice as the current block to be encoded to remove spatial redundancy.
  • the inter predictor 110 within the prediction processing unit 108 may perform inter predictive encoding of the current image block with respect to one or more prediction blocks in the one or more reference images to remove temporal redundancy.
  • the inter predictor 110 may be configured to determine an inter prediction mode for encoding a current image block.
  • the inter predictor 110 may use rate-distortion analysis to calculate rate-distortion values for various inter-prediction modes in a set of candidate inter-prediction modes and select an inter-frame having the best rate-distortion characteristics from among them. Forecasting mode.
  • Rate distortion analysis generally determines the amount of distortion (or error) between the coded block and the original uncoded block that was coded to produce the coded block, and the bit rate used to generate the coded block (that is, , Number of bits).
  • the inter predictor 110 may determine that the inter prediction mode with the lowest code rate distortion cost of encoding the current image block in the candidate inter prediction mode set is the inter prediction mode used for inter prediction of the current image block.
  • the following describes the inter-predictive coding process in detail, especially in the various inter-prediction modes for non-directional or directional sports fields in this application, predicting one or more sub-blocks in the current image block. Sub-block or all sub-blocks).
  • the inter predictor 110 is configured to predict motion information (such as a motion vector) of one or more sub-blocks in the current image block based on the determined inter prediction mode, and use the motion information (such as the motion vector) of one or more sub-blocks in the current image block. Motion vector) to obtain or generate a prediction block of the current image block.
  • the inter predictor 110 may locate a prediction block pointed to by the motion vector in one of the reference image lists.
  • the inter predictor 110 may also generate syntax elements associated with the image blocks and video slices for use by the video decoder 200 when decoding the image blocks of the video slices.
  • the inter predictor 110 uses the motion information of each sub-block to perform a motion compensation process to generate a prediction block of each sub-block, thereby obtaining a prediction block of the current image block. It should be understood that the The inter predictor 110 performs motion estimation and motion compensation processes.
  • the inter predictor 110 may provide information indicating the selected inter prediction mode of the current image block to the entropy encoder 103 so that the entropy encoder 103 encodes the instruction.
  • Information on the selected inter prediction mode may include inter prediction data related to the current image block in the transmitted bit stream, which may include a first identifier block_based_enable_flag, to indicate whether the new image proposed by the present application is adopted for the current image block.
  • the inter prediction mode is used for inter prediction; optionally, a second identifier block_based_index may also be included to indicate which new inter prediction mode is used by the current image block.
  • the process of using the motion vectors of multiple reference blocks to predict the motion vectors of the current image block or its sub-blocks in different modes 0, 1, 2 ... 10 will be described in detail below.
  • the intra predictor 109 may perform intra prediction on the current image block.
  • the intra predictor 109 may determine an intra prediction mode used to encode the current block.
  • the intra-predictor 109 may use rate-distortion analysis to calculate rate-distortion values for various intra-prediction modes to be tested, and select an intra-prediction with the best rate-distortion characteristics from the test modes. mode.
  • the intra predictor 109 may provide information indicating the selected intra prediction mode of the current image block to the entropy encoder 103 so that the entropy encoder 103 encodes the instruction Information on the selected intra prediction mode.
  • the video encoder 100 forms a residual image block by subtracting the prediction block from the current image block to be encoded.
  • the summer 112 represents one or more components that perform this subtraction operation.
  • the residual video data in the residual block may be included in one or more TUs and applied to the transformer 101.
  • the transformer 101 transforms the residual video data into a residual transform coefficient using a transform such as a discrete cosine transform (DCT) or a conceptually similar transform.
  • the transformer 101 may transform the residual video data from a pixel value domain to a transform domain, such as a frequency domain.
  • DCT discrete cosine transform
  • the transformer 101 may send the obtained transform coefficients to a quantizer 102.
  • a quantizer 102 quantizes the transform coefficients to further reduce the bit rate.
  • the quantizer 102 may then perform a scan of a matrix containing the quantized transform coefficients.
  • the entropy encoder 103 may perform scanning.
  • the entropy encoder 103 After quantization, the entropy encoder 103 entropy encodes the quantized transform coefficients. For example, the entropy encoder 103 can perform context-adaptive variable-length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), and probability interval segmentation entropy (PIPE ) Coding or another entropy coding method or technique.
  • CAVLC context-adaptive variable-length coding
  • CABAC context-adaptive binary arithmetic coding
  • SBAC syntax-based context-adaptive binary arithmetic coding
  • PIPE probability interval segmentation entropy Coding or another entropy coding method or technique.
  • the encoded bitstream may be transmitted to the video decoder 200, or archived for later transmission or retrieved by the video decoder 200.
  • the entropy encoder 103 may also perform entrop
  • the inverse quantizer 104 and the inverse changer 105 respectively apply inverse quantization and inverse transform to reconstruct the residual block in the pixel domain, for example, for later use as a reference block of a reference image.
  • the summer 111 adds the reconstructed residual block to a prediction block generated by the inter predictor 110 or the intra predictor 109 to generate a reconstructed image block.
  • the filter unit 106 may be adapted to reconstructed image blocks to reduce distortion, such as block artifacts. This reconstructed image block is then stored as a reference block in the decoded image buffer 107 and can be used by the inter predictor 110 as a reference block to inter-predict the subsequent video frames or blocks in the image.
  • the video encoder 100 can directly quantize the residual signal without processing by the transformer 101 and correspondingly without the inverse transformer 105; or, for some image blocks Or image frames, the video encoder 100 does not generate residual data, and accordingly does not need to be processed by the transformer 101, quantizer 102, inverse quantizer 104, and inverse transformer 105; or, the video encoder 100 may convert the reconstructed image
  • the blocks are directly stored as reference blocks without being processed by the filter unit 106; alternatively, the quantizer 102 and the inverse quantizer 104 in the video encoder 100 may be merged together.
  • FIG. 2B is a block diagram of a video decoder 200 according to an example described in the embodiment of the present application.
  • the video decoder 200 includes an entropy decoder 203, a prediction processing unit 208, an inverse quantizer 204, an inverse transformer 205, a summer 211, a filter unit 206, and a decoded image buffer 207.
  • the prediction processing unit 208 may include an inter predictor 210 and an intra predictor 209.
  • video decoder 200 may perform a decoding process that is substantially reciprocal to the encoding process described with respect to video encoder 100 from FIG. 2A.
  • video decoder 200 receives from video encoder 100 an encoded video bitstream representing image blocks of the encoded video slice and associated syntax elements.
  • the video decoder 200 may receive video data from the network entity 42, optionally, the video data may also be stored in a video data storage (not shown in the figure).
  • the video data memory may store video data, such as an encoded video bitstream, to be decoded by components of the video decoder 200.
  • the video data stored in the video data storage can be obtained, for example, from the storage device 40, from a local video source such as a camera, via a wired or wireless network of video data, or by accessing a physical data storage medium.
  • the video data memory can be used as a decoded image buffer (CPB) for storing encoded video data from the encoded video bitstream. Therefore, although the video data storage is not shown in FIG. 2B, the video data storage and the DPB 207 may be the same storage, or may be separately set storages. Video data memory and DPB 207 can be formed by any of a variety of memory devices, such as: dynamic random access memory (DRAM) including synchronous DRAM (SDRAM), magnetoresistive RAM (MRAM), and resistive RAM (RRAM) , Or other types of memory devices. In various examples, the video data memory may be integrated on a chip with other components of the video decoder 200 or provided off-chip relative to those components.
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • MRAM magnetoresistive RAM
  • RRAM resistive RAM
  • the video data memory may be integrated on a chip with other components of the video decoder 200 or provided off-chip relative to those components.
  • the network entity 42 may be, for example, a server, a MANE, a video editor / splicer, or other such device for implementing one or more of the techniques described above.
  • the network entity 42 may or may not include a video encoder, such as video encoder 100.
  • the network entity 42 may implement some of the techniques described in this application.
  • the network entity 42 and the video decoder 200 may be part of separate devices, while in other cases, the functionality described with respect to the network entity 42 may be performed by the same device including the video decoder 200.
  • the network entity 42 may be an example of the storage device 40 of FIG. 1.
  • the entropy decoder 203 of the video decoder 200 entropy decodes the bit stream to generate quantized coefficients and some syntax elements.
  • the entropy decoder 203 forwards the syntax elements to the prediction processing unit 208.
  • Video decoder 200 may receive syntax elements at a video slice level and / or an image block level.
  • the syntax element here may include inter prediction data related to the current image block, and the inter prediction data may include a first identifier block_based_enable_flag to indicate whether the above candidate frame is adopted for the current image block.
  • a second identifier block_based_index may also be included to indicate Which new inter prediction mode is used by the current image block.
  • the intra predictor 209 of the prediction processing unit 208 may be based on the signaled intra prediction mode and the previously decoded block from the current frame or image. Data to generate prediction blocks for image blocks of the current video slice.
  • the inter predictor 210 of the prediction processing unit 208 may determine, based on the syntax elements received from the entropy decoder 203, the An inter prediction mode in which a current image block of a video slice is decoded, and based on the determined inter prediction mode, the current image block is decoded (for example, inter prediction is performed).
  • the inter predictor 210 may determine whether to use the new inter prediction mode to predict the current image block of the current video slice. If the syntax element indicates that the new inter prediction mode is used to predict the current image block, based on A new inter prediction mode (e.g., a new inter prediction mode specified by a syntax element or a default new inter prediction mode) predicts the current image block of the current video slice or a sub-block of the current image block. Motion information, thereby obtaining or generating a predicted block of the current image block or a sub-block of the current image block using the predicted motion information of the current image block or a sub-block of the current image block through a motion compensation process.
  • a new inter prediction mode e.g., a new inter prediction mode specified by a syntax element or a default new inter prediction mode
  • the motion information here may include reference image information and motion vectors, where the reference image information may include but is not limited to unidirectional / bidirectional prediction information, a reference image list number, and a reference image index corresponding to the reference image list.
  • a prediction block may be generated from one of reference pictures within one of the reference picture lists.
  • the video decoder 200 may construct a reference picture list, that is, a list 0 and a list 1, based on the reference pictures stored in the DPB 207.
  • the reference frame index of the current image may be included in one or more of the reference frame list 0 and list 1.
  • the video encoder 100 may signal whether to use a new inter prediction mode to decode a specific syntax element of a specific block, or may be a signal to indicate whether to use a new inter prediction mode. And indicate which new inter prediction mode is used to decode a specific syntax element of a specific block.
  • the inter predictor 210 here performs a motion compensation process. In the following, the inter prediction process for using the motion information of the reference block to predict the motion information of the current image block or a sub-block of the current image block under various new inter prediction modes will be explained in detail.
  • the inverse quantizer 204 inverse quantizes, that is, dequantizes, the quantized transform coefficients provided in the bitstream and decoded by the entropy decoder 203.
  • the inverse quantization process may include using a quantization parameter calculated by the video encoder 100 for each image block in the video slice to determine the degree of quantization that should be applied and similarly to determine the degree of inverse quantization that should be applied.
  • the inverse transformer 205 applies an inverse transform to transform coefficients, such as an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process in order to generate a residual block in the pixel domain.
  • the video decoder 200 works by comparing the residual block from the inverse transformer 205 with the corresponding prediction generated by the inter predictor 210 The blocks are summed to get the reconstructed block, that is, the decoded image block.
  • the summer 211 represents a component that performs this summing operation.
  • a loop filter in the decoding loop or after the decoding loop
  • the filter unit 206 may represent one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) filter.
  • the filter unit 206 is shown as an in-loop filter in FIG. 2B, in other implementations, the filter unit 206 may be implemented as a post-loop filter.
  • the filter unit 206 is adapted to reconstruct a block to reduce block distortion, and the result is output as a decoded video stream.
  • a decoded image block in a given frame or image may also be stored in a decoded image buffer 207, and the decoded image buffer 207 stores a reference image for subsequent motion compensation.
  • the decoded image buffer 207 may be part of a memory, which may also store the decoded video for later presentation on a display device, such as the display device 220 of FIG. 1, or may be separate from such memory.
  • the video decoder 200 may generate an output video stream without being processed by the filter unit 206; or, for certain image blocks or image frames, the entropy decoder 203 of the video decoder 200 does not decode the quantized coefficients, and accordingly It does not need to be processed by the inverse quantizer 204 and the inverse transformer 205.
  • the current image block may include, but is not limited to, 16 ⁇ 16 pixels, 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and the like.
  • each image frame can be divided into image blocks for encoding. These image blocks can be further divided into smaller blocks.
  • the current image block 600 can be divided into multiple MxN sub-blocks, that is, each sub-block has a size of MxN pixels.
  • M ⁇ N and M times N are used interchangeably to refer to the pixel size of an image block according to the horizontal and vertical dimensions, that is, there are M pixels in the horizontal direction and N pixels in the vertical direction. Where M and N represent non-negative integer values.
  • the block does not necessarily need to have the same number of pixels in the horizontal direction as in the vertical direction.
  • the subblock size and reference block size of the current image block can also be 8x8 pixels, 8x4 pixels, or 4x8 pixels, or the smallest predicted block size.
  • the image block described in this application may be understood as a coding unit (CU).
  • Image blocks can have fixed or variable sizes and differ in size according to different video compression codec standards.
  • the current image block refers to an image block to be encoded or decoded currently, such as a prediction unit to be encoded or decoded.
  • FIG. 3 is a flowchart illustrating a process 300 of an encoding method according to an embodiment of the present application.
  • the process 300 may be performed by the video encoder 100, and specifically, may be performed by the intra predictor 109 of the video encoder 100.
  • the process 300 is described as a series of steps or operations. It should be understood that the process 300 may be performed in various orders and / or concurrently, and is not limited to the execution order shown in FIG. 3.
  • a process 300 including the following steps is performed to implement the encoding of the current image block through the Planar prediction method in the intra prediction method, where the current image
  • the block may be a luma image block of a CU or a chroma image block of a CU.
  • the F kinds of correction amounts M and its corresponding predicted correction amount numbers Idx can be determined according to one of the following methods.
  • Method 1 Prediction correction amount serial number Idx is 0 corresponding to correction amount M is 0; Idx is 1 corresponding to correction amount M is first preset value A1; Idx is 2 corresponding to correction amount M is -A1.
  • A1 can also be a variable related to the width and height of the current block, for example:
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8)),
  • Method 2 Predicted correction amount serial number Idx is 0 corresponding to correction amount M is 0; Idx is 1 corresponding to correction amount M is second preset value A2; Idx is 2 corresponding to correction amount M is -A2; Idx is 3 corresponding to correction amount M Is the third preset value A3; Idx is 4 and the correction amount M is -A3.
  • Method 3 Weight the average of the lower left reference pixel P (–1, H) and the upper right reference pixel P (W, –1) to obtain the first predicted value P1 (W, H) of the lower right pixel of the current image block. If the first predicted value P1 (W, H) is smaller than the value of the upper left reference pixel P (–1, –1), the predicted correction amount number Idx is 1 and the correction amount M is the first preset value A1; Idx is 2 corresponding The correction amount M is –A1; if the first predicted value P1 (W, H) is greater than or equal to the value of the reference pixel P (–1, –1) in the upper left corner, the predicted correction amount number Idx is 1, and the corresponding correction amount M is the first prediction. Set the value -A1; Idx is 2 and the correction amount M is A1.
  • step 702 may further include: limiting the second prediction value P2 (W, H) to a value range of the prediction signal, for example, the value range of the N-bit wide prediction signal is [0, pow (2, N) –1].
  • the F kinds of plane prediction images in step 302 can be obtained by the following methods:
  • Step 2.1 Weighted average of the second predicted value P2 (W, H, f) of the lower right pixel and the lower left reference pixel P (–1, H) to obtain the predicted value P () of the lower pixel of the predicted pixel P (x, y).
  • x, H, f the weighted average of the second predicted value P2 (W, H, f) of the lower right pixel and the upper right reference pixel P (W, –1) to obtain the right of the predicted pixel P (x, y)
  • Predicted value P (W, y, f) Predicted value P (W, y, f).
  • Step 2.2 Calculate the predicted pixel value P (x, y, f) of each position (x, y) in the predicted image.
  • the weighted average of P (x, H, f) and P (x, –1) gives the vertical prediction value Pv (x, y, f) of P (x, y); P (W, y, f) and P (–1, y) weighted average to get the level prediction value Ph (x, y, f) of P (x, y); Ph (x, y, f) and Pv (x, y, f) weighted average,
  • the predicted value P (x, y, f) of the pixel with coordinates (x, y) is obtained.
  • the difference may be calculated using an existing method, for example, an absolute error sum (Sum of Absolute Difference, SAD) algorithm may be used to calculate the difference.
  • SAD Sum of Absolute Difference
  • Step 303 Encode the current image block according to the optimal plane prediction image to obtain the rate distortion cost; compare the rate distortion cost of the optimal plane prediction image with the rate distortion cost of other intra prediction modes, and select the one with the least rate distortion cost.
  • the intra prediction mode is used as an optimal intra coding mode for the current image block.
  • the current image block is encoded according to the optimal plane prediction image to obtain the rate distortion cost.
  • This is a conventional technique, which usually includes: calculating the residual corresponding to the optimal plane prediction image, transforming and quantizing the residual to obtain the current image block. Encoding the prediction mode information and residual information of the current image block to obtain the number of bits.
  • the prediction mode is a planar prediction mode
  • the prediction correction amount serial number corresponding to the optimal planar prediction image needs to be encoded and counted into the bits. Weighted sum of distortion and number of bits to get the rate distortion cost.
  • the prediction correction amount serial number can be encoded using, for example, context-based binary arithmetic coding.
  • Step 304 If the optimal intra coding mode is a planar prediction mode, write the prediction correction number into the code stream.
  • the current image block uses only the intra coding mode as an example.
  • the current image block is an image block in an I frame. If the current image block is an image block in a P / B frame, the current image block can also use inter prediction coding.
  • the rate distortion cost of the optimal intra coding mode and the rate of the optimal inter coding mode also need to be used. The distortion cost is compared to determine the optimal prediction mode.
  • the encoding end generates plane prediction images with various prediction corrections, selects the best plane prediction image, and writes the corresponding prediction correction number to the code stream; this method improves the prediction efficiency of the plane prediction, thereby improving the intra frame. Compression efficiency of Intra coding.
  • An embodiment of the present invention further provides a decoding apparatus, and the apparatus includes a module for performing the foregoing encoding method.
  • An embodiment of the present invention further provides another encoder, including: a non-volatile memory and a processor coupled to each other, the processor invoking program code stored in the memory to execute part or all of the foregoing encoding method. step.
  • An embodiment of the present invention further provides a computer-readable storage medium, where the computer-readable storage medium stores program code, where the program code includes instructions for performing part or all of the steps of the foregoing encoding method.
  • An embodiment of the present invention further provides a computer program product.
  • the computer program product is run on a computer, the computer program product is caused to execute instructions of some or all steps of the foregoing coding method.
  • FIG. 4 is a flowchart illustrating a process 400 of a decoding method according to an embodiment of the present application.
  • Process 400 may be performed by video decoder 200.
  • the process 400 is described as a series of steps or operations. It should be understood that the process 400 may be performed in various orders and / or concurrently, and is not limited to the execution order shown in FIG. 4.
  • a process 400 including the following steps is performed to implement decoding of a current image block through a Planar prediction method in an intra prediction method, where the current image
  • the block may be a luma image block of a CU or a chroma image block of a CU.
  • the prediction mode is a planar prediction mode
  • the prediction reference information includes a sequence number of a prediction correction amount.
  • This step may be specifically performed by the entropy decoder 203 in the decoder 200.
  • the specific solution implemented in the embodiment of the present invention is an intra prediction method in Planar mode, so the prediction mode of the current image block is actually parsed from the bitstream, and the prediction mode indicates The prediction mode of the current image block is Planar mode.
  • This step may be performed by the intra predictor 209 in the decoder 200.
  • the predicted correction amount serial number Idx is 0, which indicates that the correction amount M is 0, and the serial number greater than 0 indicates that the correction amount M is not zero.
  • any one of the following methods may be used to determine the specific value of the correction amount M:
  • the prediction correction amount is a first preset number, determine the prediction correction amount as a first preset correction amount; or if the prediction correction amount number is a second preset number, determine the prediction correction The amount is the second preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the predicted correction amount number is a first preset number, determine the predicted correction amount as a third preset number; if the predicted correction amount is a second preset number, determine the predicted correction amount Is the fourth preset correction amount; if the predicted correction amount number is a third preset number, it is determined that the predicted correction amount is a fifth preset correction amount; if the predicted correction amount number is a fourth preset number , It is determined that the predicted correction amount is a sixth preset correction amount.
  • the third preset correction amount and the fourth preset correction amount are opposite numbers to each other; and the fifth preset correction amount and the sixth preset correction amount are opposite numbers to each other.
  • the first preset serial number can be 1, the second preset serial number can be 2, the third preset serial number can be 3, and the fourth preset serial number can be 4.
  • the third preset correction amount and the fifth preset correction amount are preset positive integers, and the fifth preset correction amount is greater than the third preset correction amount.
  • the fifth preset correction amount may be the third preset correction amount.
  • the amount is 1.75 times, or 2 times, or 2.25 times.
  • the value of the predicted correction amount is the first preset number
  • the predicted correction amount is the second preset number
  • the determination is determined.
  • the predicted correction amount is the second preset correction amount; or when the weighted average value is not less than the value of the upper left reference pixel of the current image block, if the predicted correction amount number is the first preset number, the determined correction amount is determined.
  • the predicted correction amount is a second preset correction amount; if the predicted correction amount number is a second preset number, determining that the predicted correction amount is the first preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the weighted average value may specifically be a predicted value of a lower right pixel of the current image block, and may be obtained by, for example, the following calculation formula:
  • P1 (W, H) P (W, –1) * a + P (–1, H) * (1–a);
  • P1 (W, H) represents the predicted value of the lower right pixel
  • P (W, –1) represents the value of the upper right reference pixel
  • P (–1, H) represents the value of the lower left reference pixel
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • the upper left reference pixel, the lower left reference pixel, the upper right reference pixel, and the lower right pixel do not belong to the current image block.
  • the current image block is an image block of W * H
  • the range of the abscissa of the pixel in the current image block is [0, W-1]
  • the range of the ordinate of the pixel in the current image block is [ 0, H-1]
  • the coordinates of the upper left reference pixel are (-1, -1)
  • the coordinates of the lower left reference pixel are (-1, H)
  • the coordinates of the lower right pixel are ( W, H)
  • the coordinates of the upper right reference pixel are (W, -1).
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the prediction correction amount serial number is a first preset serial number, based on the value of the lower left reference pixel of the current image block, the value of the upper right reference pixel of the current image block, and the value of the upper left reference pixel of the current image block Obtain a difference value; determine the predicted correction amount based on the difference value.
  • the difference value can be obtained by calculating as follows:
  • D represents the difference value
  • P (W, –1) represents the value of the lower left reference pixel of the current image block
  • P (–1, H) represents the value of the upper right reference pixel of the current image block
  • P (–1, –1) represents the value of the upper left reference pixel of the current image block
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • a can also be the same as all
  • the determining the prediction correction amount based on the difference value includes:
  • the prediction correction amount is determined based on the following calculation formula:
  • M represents the predicted correction amount
  • D represents the difference value.
  • B3 is a preset positive integer
  • B4 is a preset positive integer
  • This step may be performed by an intra predictor 209 in the decoder 200, and the predicted image may be a predicted block in FIG. 2B.
  • obtaining the predicted image of the current image block based on the prediction correction amount may include the following steps:
  • Step 1 Weighted average the lower left reference pixel P (–1, H) and the upper right reference pixel P (W, –1) to obtain the first predicted value P1 (W, H) of the lower right pixel of the current image block; M is added to the first prediction value P1 (W, H) to obtain a second prediction value P2 (W, H) of the lower right pixel.
  • Step 2 A weighted average of the second predicted value P2 (W, H) of the lower right pixel and the lower left reference pixel P (-1, H) to obtain the predicted value P (x, y) of the lower pixel of the predicted pixel P (x, y). H); weighted average of the second predicted value P2 (W, H) of the lower right pixel and the upper right reference pixel P (W, –1) to obtain the predicted value P (W, of the right pixel of the predicted pixel P (x, y) y).
  • Step 3 Weighted average of P (x, H) and P (x, –1) to obtain the vertical prediction value Pv (x, y) of P (x, y); from P (W, y) and P (- 1, y) weighted average to get the level prediction value Ph (x, y) of P (x, y); weighted average of Ph (x, y) and Pv (x, y) to get the coordinates of (x, y) The pixel's predicted value P (x, y).
  • the predicted values of all pixels in the current image block can be obtained, so as to obtain a predicted image.
  • This step may be performed by the summer 211 in the decoder 200, and the prediction residual of the current image block may be a residual block in FIG. 2B.
  • the prediction image of the current image block and the prediction residual of the current image block may be added to obtain a reconstructed image of the current image block.
  • the method described in FIG. 4 may further include:
  • the preset value range is [0, pow (2, N) –1], where pow (2, N) represents the Nth power of 2, and N represents the bit width.
  • the prediction value of the prediction value of the lower right pixel of the current image block is less than 0, the prediction value of the lower right pixel of the current image block is corrected to 0, that is, the correction value of the prediction value of the lower right pixel of the current image block is 0; if the correction value of the prediction value of the bottom right pixel of the current image block is greater than, the prediction value of the bottom right pixel of the current image block is modified to pow (2, N) -1, that is, the The correction value of the predicted value is pow (2, N) –1; if the correction value of the predicted value of the lower right pixel of the current image block is greater than or equal to 0 and less than or equal to pow (2, N) –1, then it is not required Correct the predicted value of the lower right pixel of the current image block, that is, the predicted value of the lower right pixel of the current image block is the predicted value of the lower right pixel of the current image block.
  • FIG. 5 illustrates a structure of an image block decoding apparatus according to an embodiment of the present invention.
  • the image block decoding apparatus includes:
  • Entropy decoder 501 is configured to parse a bitstream to obtain prediction residuals, prediction modes, and prediction reference information of a current image block to be decoded; wherein when the prediction mode is a planar prediction mode, the prediction reference information includes prediction correction Quantity serial number.
  • the entropy decoder 501 may specifically be the entropy decoder 203 in FIG. 2B.
  • the intra predictor 502 is configured to determine a prediction correction amount based on the prediction correction amount number when the prediction mode of the current image block is a flat prediction mode; and obtain a prediction image of the current image block based on the prediction correction amount. .
  • the intra predictor 502 may specifically be the intra predictor 209 in FIG. 2B.
  • a reconstruction unit 503 is configured to obtain a reconstructed image of the current image block based on the predicted image of the current image block and the prediction residual of the current image block.
  • the reconstruction unit 503 may specifically be the summer 211 in FIG. 2B.
  • the intra predictor 502 may be specifically configured to: if the prediction correction amount number is a first preset number, determine the prediction correction amount as a first preset correction amount; or If the predicted correction amount is a second preset number, it is determined that the predicted correction amount is a second preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the intra predictor 502 may be further specifically configured to: if the prediction correction amount is a first preset number, determine that the prediction correction amount is a third preset correction amount; if If the predicted correction amount number is a second preset number, it is determined that the predicted correction amount is a fourth preset number; if the predicted correction amount is a third preset number, it is determined that the predicted correction amount is A fifth preset correction amount; or if the predicted correction amount number is a fourth preset number, determining that the predicted correction amount is a sixth preset correction amount.
  • the third preset correction amount and the fourth preset correction amount are opposite numbers to each other; and the fifth preset correction amount and the sixth preset correction amount are opposite numbers to each other.
  • the first preset serial number can be 1, the second preset serial number can be 2, the third preset serial number can be 3, and the fourth preset serial number can be 4.
  • the third preset correction amount and the fifth preset correction amount are preset positive integers, and the fifth preset correction amount is greater than the third preset correction amount.
  • the fifth preset correction amount may be the third preset correction amount.
  • the amount is 1.75 times, or 2 times, or 2.25 times.
  • the intra predictor 502 may be further specifically configured to:
  • the predicted correction amount number is a first preset number, determining the predicted correction amount as a first preset correction amount; if If the predicted correction amount is a second preset number, it is determined that the predicted correction amount is a second preset correction amount; or
  • the prediction correction amount is a first preset number, determining that the prediction correction amount is a second preset correction amount; If the predicted correction amount is a second preset number, it is determined that the predicted correction amount is a first preset correction amount.
  • the first preset correction amount and the second preset correction amount are opposite numbers to each other.
  • the weighted average value may specifically be a predicted value of a lower right pixel of the current image block, and may be obtained by, for example, the following calculation formula:
  • P1 (W, H) P (W, –1) * a + P (–1, H) * (1–a);
  • P1 (W, H) represents the predicted value of the lower right pixel
  • P (W, –1) represents the value of the upper right reference pixel
  • P (–1, H) represents the value of the lower left reference pixel
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • the upper left reference pixel, the lower left reference pixel, the upper right reference pixel, and the lower right pixel do not belong to the current image block.
  • the current image block is an image block of W * H
  • the range of the abscissa of the pixel in the current image block is [0, W-1]
  • the range of the ordinate of the pixel in the current image block is [ 0, H-1]
  • the coordinates of the upper left reference pixel are (-1, -1)
  • the coordinates of the lower left reference pixel are (-1, H)
  • the coordinates of the lower right pixel are ( W, H)
  • the coordinates of the upper right reference pixel are (W, -1).
  • the first preset serial number may be 1 and the second preset serial number may be 2.
  • the first preset correction amount may also be a variable related to the width and height of the current image block; for example, the first preset correction amount may be determined based on the following calculation formula. :
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8));
  • A1 represents the first preset correction amount
  • pow (2, BD– 8) represents the BD-8 power of 2
  • H represents the height of the current image block
  • W represents the width of the current image block
  • the intra predictor may be further specifically configured to: if the prediction correction amount sequence number is a first preset sequence number, based on a value of a lower left reference pixel of the current image block, the current image A value of the upper right reference pixel of the block and a value of the upper left reference pixel of the current image block are used to obtain a difference value; and the prediction correction amount is determined based on the difference value.
  • the intra predictor may be specifically configured to obtain the difference value by calculating as follows:
  • D represents the difference value
  • P (W, –1) represents the value of the lower left reference pixel of the current image block
  • P (–1, H) represents the value of the upper right reference pixel of the current image block
  • P (–1, –1) represents the value of the upper left reference pixel of the current image block
  • a can be a preset value, such as 0.4, 0.5, or 0.6, etc .
  • a can also be the same as all
  • the intra predictor 502 may be specifically configured to:
  • the prediction correction amount is determined based on the following calculation formula:
  • M represents the predicted correction amount
  • D represents the difference value
  • sign (D) represents the sign of taking the difference value
  • B3 is a preset positive integer
  • B4 is a preset positive integer
  • the intra predictor 502 may be further specifically configured to: modify the prediction value of the lower right pixel of the current image block based on the prediction correction amount; based on the right of the current image block The correction value of the prediction value of the lower pixel obtains the prediction image of the current image block.
  • the intra predictor 502 may be further specifically configured to: limit the correction value of the prediction value of the lower right pixel of the current image block to a preset value range, and the prediction The value range is set to [0, pow (2, N) –1], where pow (2, N) represents the Nth power of 2 and N represents the bit width; based on being limited to the preset value range A correction value of a prediction value of a lower right pixel of the current image block is used to obtain a prediction image of the current image block.
  • the prediction value of the prediction value of the lower right pixel of the current image block is less than 0, the prediction value of the lower right pixel of the current image block is corrected to 0, that is, the correction value of the prediction value of the lower right pixel of the current image block is 0; if the correction value of the prediction value of the bottom right pixel of the current image block is greater than, the prediction value of the bottom right pixel of the current image block is modified to pow (2, N) -1, that is, the The correction value of the predicted value is pow (2, N) –1; if the correction value of the predicted value of the lower right pixel of the current image block is greater than or equal to 0 and less than or equal to pow (2, N) –1, then it is not required Correct the predicted value of the lower right pixel of the current image block, that is, the predicted value of the lower right pixel of the current image block is the predicted value of the lower right pixel of the current image block.
  • the current image block is a CU luma image block, and may also be a CU chroma image block.
  • the current image block uses a planar prediction mode.
  • the process of decoding the current image block by using the plane prediction method includes the following steps:
  • Step 1 Parse the predicted correction amount number Idx of the current image block from the code stream, and obtain the correction amount M according to the number.
  • the predicted correction amount serial number Idx is 0, which indicates that the correction amount M is 0, and the serial number greater than 0 indicates that the correction amount M is not zero.
  • its derivation method may adopt one of the following methods.
  • Method 1 When the predicted correction amount number Idx is 1, the correction amount M is the first preset value A1; when Idx is 2, the correction amount M is -A1.
  • A1 can also be a variable related to the width and height of the current block, for example:
  • A1 Clip3 (B1, B2, (W + H) / 2 * pow (2, BD–8)),
  • Method 3 Weight the average of the lower left reference pixel P (–1, H) and the upper right reference pixel P (W, –1) to obtain the first predicted value P1 (W, H) of the lower right pixel of the current image block. If the first predicted value P1 (W, H) is smaller than the value of the upper left reference pixel P (–1, –1), when the predicted correction amount number Idx is 1, the correction amount M is the first preset value A1; when Idx When it is 2, the correction amount M is –A1; if the first predicted value P1 (W, H) is greater than or equal to the value of the upper left reference pixel P (–1, –1), when the predicted correction amount number Idx is 1, the correction amount is corrected. The amount M is the first preset value -A1; when Idx is 2, the correction amount M is A1.
  • Step 2 Weighted average the lower left reference pixel P (–1, H) and the upper right reference pixel P (W, –1) to obtain the first predicted value P1 (W, H) of the lower right pixel of the current image block; M is added to the first prediction value P1 (W, H) to obtain a second prediction value P2 (W, H) of the pixel in the lower right corner.
  • step 2 may further include: limiting the second prediction value P2 (W, H) to the value range of the prediction signal, for example, the value range of the N-bit wide prediction signal is [0, pow ( 2, N) –1].
  • the weighted average of the lower left reference pixel and the upper right reference pixel to obtain the first prediction value P1 (W, H) of the lower right corner pixel of the current image block is the prior art, such as using the method in JVET-E0068 (the second prior art). .
  • Step 3 The weighted average of the second predicted value P2 (W, H) of the lower right pixel and the lower left reference pixel P (–1, H) to obtain the predicted value P (x, y) of the lower pixel of the predicted pixel P (x, y). H); weighted average of the second predicted value P2 (W, H) of the lower right pixel and the upper right reference pixel P (W, –1) to obtain the predicted value P (W, of the right pixel of the predicted pixel P (x, y) y).
  • This step is the prior art, such as using the method in JVET-E0068 (the second prior art).
  • Step 4 The weighted average of P (x, H) and P (x, –1) to obtain the vertical prediction value Pv (x, y) of P (x, y); P (W, y) and P (– 1, y) weighted average to get the level prediction value Ph (x, y) of P (x, y); weighted average of Ph (x, y) and Pv (x, y) to get the coordinates of (x, y) The pixel's predicted value P (x, y).
  • This step is the prior art, such as using the method in JVET-E0068 (the second prior art).
  • Step 5 Add the predicted image of the current image block and the residual of the current image block to obtain a reconstructed image of the current image block.
  • This step is prior art, such as using the method in H.265.
  • FIG. 6 is a schematic block diagram of an implementation manner of an encoding device or a decoding device (referred to as a decoding device 1200) according to an embodiment of the present application.
  • the decoding device 1200 may include a processor 1210, a memory 1230, and a bus system 1250.
  • the processor and the memory are connected through a bus system, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory.
  • the memory of the encoding device stores program code, and the processor can call the program code stored in the memory to perform various video encoding or decoding methods described in this application, especially the video encoding or decoding methods in various new inter prediction modes. , And methods for predicting motion information in various new inter prediction modes. To avoid repetition, it will not be described in detail here.
  • the processor 1210 may be a Central Processing Unit (“CPU”), and the processor 1210 may also be another general-purpose processor, digital signal processor (DSP), or special-purpose integration. Circuits (ASICs), off-the-shelf programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory 1230 may include a read only memory (ROM) device or a random access memory (RAM) device. Any other suitable type of storage device may also be used as the memory 1230.
  • the memory 1230 may include code and data 1231 accessed by the processor 1210 using the bus 1250.
  • the memory 1230 may further include an operating system 1233 and an application program 1235, which includes a processor 1210 that allows the processor 1210 to perform the video encoding or decoding method described in this application (especially the inter prediction method or the motion information prediction method described in this application). At least one program.
  • the application program 1235 may include applications 1 to N, which further includes a video encoding or decoding application (referred to as a video decoding application) that executes the video encoding or decoding method described in this application.
  • the bus system 1250 may include a data bus, a power bus, a control bus, and a status signal bus. However, for the sake of clarity, various buses are marked as the bus system 1250 in the figure.
  • the decoding device 1200 may further include one or more output devices, such as a display 1270.
  • the display 1270 may be a tactile display that incorporates the display with a tactile unit operatively sensing a touch input.
  • the display 1270 may be connected to the processor 1210 via a bus 1250.
  • Computer-readable media may include computer-readable storage media, which corresponds to tangible media, such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another (e.g., according to a communication protocol) .
  • computer-readable media may generally correspond to (1) tangible computer-readable storage media that is non-transitory, or (2) a communication medium such as a signal or carrier wave.
  • a data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and / or data structures used to implement the techniques described in this application.
  • the computer program product may include a computer-readable medium.
  • such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or may be used to store instructions or data structures Any other medium in the form of the required program code and accessible by a computer. Also, any connection is properly termed a computer-readable medium. For example, if coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are used to transmit instructions from a website, server, or other remote source, then coaxial cable Wire, fiber optic cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of media.
  • DSL digital subscriber line
  • the computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other temporary media, but are instead directed to non-transitory tangible storage media.
  • magnetic and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), and Blu-ray discs, where magnetic discs typically reproduce data magnetically, and optical discs use lasers to reproduce optical data. Combinations of the above should also be included within the scope of computer-readable media.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable logic arrays
  • processor may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein.
  • functions described by the various illustrative logical blocks, modules, and steps described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or Into the combined codec.
  • the techniques can be fully implemented in one or more circuits or logic elements.
  • the techniques of this application may be implemented in a wide variety of devices or devices, including a wireless handset, an integrated circuit (IC), or a group of ICs (eg, a chipset).
  • IC integrated circuit
  • Various components, modules, or units are described in this application to emphasize functional aspects of the apparatus for performing the disclosed techniques, but do not necessarily need to be implemented by different hardware units.
  • the various units may be combined in a codec hardware unit in combination with suitable software and / or firmware, or through interoperable hardware units (including one or more processors as described above) provide.

Landscapes

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

Abstract

La présente invention concerne un procédé et un dispositif de décodage de bloc d'image. Le procédé consiste à : analyser un flux de code pour acquérir un résidu de prédiction, un mode de prédiction et des informations de référence de prédiction d'un bloc d'image actuel à décoder, lorsque le mode de prédiction est un mode de prédiction planaire, les informations de référence de prédiction comprenant un numéro de séquence de quantité de correction de prédiction ; si le mode de prédiction du bloc d'image actuel est le mode de prédiction planaire, déterminer une quantité de correction de prédiction sur la base du numéro de séquence de quantité de correction de prédiction ; acquérir une image de prédiction du bloc d'image actuel sur la base de la quantité de correction de prédiction ; et acquérir une image reconstruite du bloc d'image actuel sur la base de l'image de prédiction et du résidu de prédiction du bloc d'image actuel. Le procédé améliore la précision de prédiction d'informations de mouvement d'un bloc d'image, améliorant ainsi les performances de codage et de décodage.
PCT/CN2019/091505 2018-07-02 2019-06-17 Procédé et dispositif de décodage de bloc d'image WO2020007187A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862693428P 2018-07-02 2018-07-02
US62/693,428 2018-07-02

Publications (1)

Publication Number Publication Date
WO2020007187A1 true WO2020007187A1 (fr) 2020-01-09

Family

ID=69060577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/091505 WO2020007187A1 (fr) 2018-07-02 2019-06-17 Procédé et dispositif de décodage de bloc d'image

Country Status (1)

Country Link
WO (1) WO2020007187A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611885A (zh) * 2011-01-20 2012-07-25 华为技术有限公司 一种编解码方法和装置
CN102934441A (zh) * 2010-05-25 2013-02-13 Lg电子株式会社 新的平面预测模式
US20150341662A1 (en) * 2013-07-01 2015-11-26 Panasonic Intellectual Property Corporation Of America Image coding apparatus, image coding method, and image coding system
US20180184083A1 (en) * 2016-12-28 2018-06-28 Arris Enterprises Llc Adaptive unequal weight planar prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934441A (zh) * 2010-05-25 2013-02-13 Lg电子株式会社 新的平面预测模式
CN102611885A (zh) * 2011-01-20 2012-07-25 华为技术有限公司 一种编解码方法和装置
US20150341662A1 (en) * 2013-07-01 2015-11-26 Panasonic Intellectual Property Corporation Of America Image coding apparatus, image coding method, and image coding system
US20180184083A1 (en) * 2016-12-28 2018-06-28 Arris Enterprises Llc Adaptive unequal weight planar prediction

Similar Documents

Publication Publication Date Title
JP7071603B1 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
CN109792538B (zh) 用于对视频数据进行译码的方法和装置
CN109691102B (zh) 跨分量滤波器
WO2019062544A1 (fr) Procédé et dispositif de prédiction inter-trame et codec destiné à des images vidéo
TW202005399A (zh) 基於區塊之自適應迴路濾波器(alf)之設計及發信令
CN114205592B (zh) 视频序列的帧内预测方法及装置
TWI786790B (zh) 視頻資料的幀間預測方法和裝置
CN107258081B (zh) 对使用非正方形分割编码视频数据的优化
WO2020042604A1 (fr) Codeur vidéo, décodeur vidéo, et procédé correspondant
TW202234883A (zh) 塊內複製暫用視框緩衝器
TW201921938A (zh) 具有在用於視訊寫碼之隨機存取組態中之未來參考訊框之可調適圖像群組結構
CN113766246A (zh) 图像编码方法、图像解码方法及相关装置
WO2020007187A1 (fr) Procédé et dispositif de décodage de bloc d'image
WO2020042758A1 (fr) Procédé et dispositif de prédiction intertrames
TWI841033B (zh) 視頻數據的幀間預測方法和裝置
CN110677645B (zh) 一种图像预测方法及装置
WO2019237287A1 (fr) Procédé de prédiction inter-trames pour image vidéo, dispositif, et codec
WO2020042724A1 (fr) Procédé et dispositif de prédiction intertrames, ainsi que codeur vidéo et décodeur vidéo
WO2019227297A1 (fr) Procédé et dispositif de prédiction inter-trame et codec pour image vidéo
RU2574831C2 (ru) Унифицированный выбор кандидатов для режима слияния и адаптивного режима предсказания вектора движения

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19830210

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19830210

Country of ref document: EP

Kind code of ref document: A1