WO2020133518A1 - 视频处理方法和设备 - Google Patents

视频处理方法和设备 Download PDF

Info

Publication number
WO2020133518A1
WO2020133518A1 PCT/CN2018/125843 CN2018125843W WO2020133518A1 WO 2020133518 A1 WO2020133518 A1 WO 2020133518A1 CN 2018125843 W CN2018125843 W CN 2018125843W WO 2020133518 A1 WO2020133518 A1 WO 2020133518A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion information
candidate list
historical motion
area
image block
Prior art date
Application number
PCT/CN2018/125843
Other languages
English (en)
French (fr)
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 深圳市大疆创新科技有限公司
Priority to JP2021531890A priority Critical patent/JP7343097B2/ja
Priority to CN202111243540.9A priority patent/CN113905239A/zh
Priority to CN201880065711.3A priority patent/CN111213381B/zh
Priority to EP18944635.4A priority patent/EP3905684A4/en
Priority to PCT/CN2018/125843 priority patent/WO2020133518A1/zh
Priority to KR1020217020756A priority patent/KR20210094082A/ko
Priority to PCT/CN2019/078049 priority patent/WO2020133717A1/zh
Priority to JP2021533606A priority patent/JP7239702B2/ja
Priority to KR1020217020254A priority patent/KR20210094064A/ko
Priority to CN201980005316.0A priority patent/CN111279693B/zh
Priority to CN202111241960.3A priority patent/CN113992910A/zh
Priority to EP19902243.5A priority patent/EP3905693A4/en
Priority to CN201980004976.7A priority patent/CN111567046B/zh
Priority to PCT/CN2019/109659 priority patent/WO2020134304A1/zh
Publication of WO2020133518A1 publication Critical patent/WO2020133518A1/zh
Priority to US17/362,309 priority patent/US11936847B2/en
Priority to US17/362,078 priority patent/US11997254B2/en
Priority to JP2023029970A priority patent/JP7415065B2/ja
Priority to JP2023133667A priority patent/JP2023156473A/ja

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present application relates to the field of image processing, and more specifically, to a video processing method and device.
  • Prediction is an important module of mainstream video coding framework.
  • Prediction can include intra prediction and inter prediction.
  • the inter prediction mode may include Advanced Motion Vector Prediction (Advanced Motion Vector Prediction, AMVP) mode and Merge mode.
  • AMVP Advanced Motion Vector Prediction
  • Merge mode you can determine the MVP in the candidate list of Motion Vector Prediction (MVP), and directly determine the MVP as the MV, and you can transfer the MVP and reference frame index to the decoding end in the code stream. It is used for decoding on the decoding side.
  • the candidate HMVP can be selected from the history-based motion vector prediction (HMVP) candidate list as the candidate MVP in the MVP candidate list.
  • HMVP history-based motion vector prediction
  • the HMVP candidate list is generated based on the motion information of the encoded or decoded block. Specifically, when the encoding or decoding of a coded or decoded block is completed, the motion information of the coded or decoded block is used to update the HMVP list of the next block to be coded or decoded, which will make the dependencies between the image blocks Stronger.
  • Embodiments of the present application provide a video processing method and device, which can overcome the dependency between multiple image blocks, so that multiple image blocks can be independently encoded or decoded.
  • a video processing method including: acquiring a candidate list of historical motion information, the candidate list of historical motion information for each of a plurality of first image blocks included in a first region in a current frame Encode or decode a first image block, wherein the historical motion information candidate list is obtained based on motion information of a second image block, the second image block is in addition to the image block included in the first area
  • the image block has been encoded or decoded; each of the first image blocks is encoded or decoded according to the historical motion information candidate list.
  • a video processing method including: using a candidate list of historical motion information to encode or decode at least one second image block in a second area of a current frame; based on at least one of the second area Part of the motion information after the second image block is encoded or decoded, and the historical motion information candidate list is updated to obtain the updated historical motion information candidate list; using the updated historical motion information candidate list, Multiple first image blocks in the first area of the current frame are encoded or decoded.
  • a video processing device including: an acquiring unit for acquiring a candidate list of historical motion information, the candidate list of historical motion information being used for a plurality of first images included in a first region in a current frame Each first image block in the block is encoded or decoded, wherein the historical motion information candidate list is obtained based on the motion information of the second image block, and the second image block is included except for the first area An encoded or decoded image block other than the image block; an encoding or decoding unit, used to encode or decode each first image block separately according to the historical motion information candidate list.
  • a video processing device characterized in that it includes an encoding or decoding unit and an updating unit; the encoding or decoding unit is used to: use a candidate list of historical motion information to compare the At least one second image block is encoded or decoded; the update unit is configured to update the candidate list of historical motion information based on motion information after at least part of the second image block encoded or decoded in the second region , To obtain the updated candidate list of historical motion information; the encoding or decoding unit is further used to: by using the updated candidate list of historical motion information, multiple An image block is encoded or decoded.
  • a computer system including: a memory for storing computer-executable instructions; a processor for accessing the memory and executing the computer-executable instructions to perform the first or second aspect Operation in the method.
  • a computer storage medium stores a program code, and the program code may be used to instruct to execute the method of the first or second aspect.
  • a computer program product includes program code, and the program code may be used to instruct to perform the method of the first or second aspect.
  • the motion information of the second image block that has been encoded or decoded may be used to construct a historical motion information candidate list, and the constructed historical motion information candidate list may be used to encode multiple first image blocks in the first area or Decoding can overcome the dependence of the plurality of first image blocks, so that the plurality of first image blocks in the first area can be independently encoded or decoded.
  • FIG. 1 is an architectural diagram of a technical solution according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a video processing method according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a video processing method according to an embodiment of the present application.
  • FIG. 4 is a configuration diagram of a MER according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a video processing method according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of HMVP update according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of adjacent blocks of an image block according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of spatial domain candidates of image blocks according to an embodiment of the present application.
  • FIG. 9 is a schematic block diagram of a video processing device according to an embodiment of the present application.
  • FIG. 10 is a schematic block diagram of a video processing device according to an embodiment of the present application.
  • FIG. 11 is a schematic block diagram of a computer system according to an embodiment of the present application.
  • FIG. 1 is an architectural diagram of applying the technical solution of the embodiment of the present application.
  • the system 100 can receive the data to be processed 102, process the data to be processed 102, and generate processed data 108.
  • the system 100 may receive the data to be encoded and encode the data to be encoded to generate encoded data, or the system 100 may receive the data to be decoded and decode the data to be decoded to generate decoded data.
  • the components in the system 100 may be implemented by one or more processors, which may be a processor in a computing device or a processor in a mobile device (such as a drone).
  • the processor may be any kind of processor, which is not limited in this embodiment of the present invention.
  • the processor may include an encoder, decoder, or codec.
  • the system 100 may also include one or more memories.
  • the memory may be used to store instructions and data, for example, computer-executable instructions that implement the technical solutions of the embodiments of the present invention, data to be processed 102, processed data 108, and so on.
  • the memory may be any kind of memory, which is not limited in the embodiment of the present invention.
  • the data to be encoded may include text, images, graphic objects, animation sequences, audio, video, or any other data that needs to be encoded.
  • the data to be encoded may include sensory data from a sensor, which may be a visual sensor (eg, camera, infrared sensor), microphone, near-field sensor (eg, ultrasonic sensor, radar), position sensor, temperature Sensors, touch sensors, etc.
  • the data to be encoded may include information from the user, for example, biological information, which may include facial features, fingerprint scanning, retina scanning, voice recording, DNA sampling, and the like.
  • the image when encoding each image, the image may be initially divided into multiple image blocks.
  • the image may be divided into multiple image blocks, which are referred to as macroblocks or largest coding units (LCU, Largest Coding Units) in some coding standards.
  • the image blocks may or may not have any overlapping portions.
  • the image can be divided into any number of image blocks.
  • the image can be divided into an m ⁇ n image block array.
  • the image block may have a rectangular shape, a square shape, a circular shape, or any other shape.
  • the image block can have any size, such as p ⁇ q pixels.
  • images of different resolutions can be encoded by first dividing the image into multiple small blocks.
  • the image block is called a macroblock, and its size may be 16 ⁇ 16 pixels, and for HEVC, the image block is called a maximum coding unit, and its size may be 64 ⁇ 64.
  • Each image block may have the same size and/or shape. Alternatively, two or more image blocks may have different sizes and/or shapes.
  • an image block may not be a macroblock or a maximum coding unit, but includes a portion of a macroblock or a maximum coding unit, or at least two complete macroblocks (or a maximum coding unit), or Contains at least one complete macroblock (or maximum coding unit) and one macroblock (or maximum coding unit), or contains at least two complete macroblocks (or maximum coding unit) and some macroblocks (or maximum coding unit) )part. In this way, after the image is divided into a plurality of image blocks, these image blocks in the image data can be encoded separately.
  • the image in order to remove redundancy, can be predicted. Different prediction methods can be used for different images in the video. According to the prediction method adopted by the image, the image can be divided into an intra-frame prediction image and an inter-frame prediction image, where the inter-frame prediction image includes a forward prediction image and a bi-directional prediction image.
  • I-pictures are intra-predicted pictures, also known as key frames;
  • P-pictures are forward-predicted pictures, that is, a previously encoded P-picture or I-picture is used as a reference picture;
  • B-pictures are bidirectionally predicted pictures, that is, before and after As the reference image.
  • One way to achieve this is that the encoding end encodes multiple pictures to produce a group of pictures (GOP).
  • the GOP is composed of an I picture and multiple B pictures (or bidirectionally predicted pictures) and/or Or a group of pictures composed of P pictures (or forward predicted pictures).
  • the decoding end reads a section of GOP for decoding, reads the picture and then renders the display.
  • the most similar block can be found as the prediction block of the current image block in the reference frame (generally a reconstructed frame near the time domain) for each image block.
  • the relative displacement between the current block and the prediction block is a motion vector (Motion Vector, MV).
  • the inter prediction modes in the video coding standard may include AMVP mode and Merge mode.
  • the MVP can be determined first. After the MVP is obtained, the starting point of the motion estimation can be determined according to the MVP. A motion search is performed near the starting point. After the search is completed, the optimal MV is obtained.
  • the MV determines the reference block at With reference to the position in the image, the reference block subtracts the current block to obtain the residual block, and the MV minus the MVP to obtain the motion vector difference (Motion Vector Difference, MVD), and transmits the MVD to the decoding end through the code stream.
  • Motion Vector Difference Motion Vector Difference
  • the MVP candidate list you can include at least one candidate MVP, each The candidate MVP can correspond to an index.
  • the encoding end can write the MVP index into the code stream, and the decoding end can find the MVP corresponding to the index from the MVP candidate list according to the index. , To decode the image block.
  • Step 1 Obtain the MVP candidate list
  • Step 2 Select an optimal MVP from the MVP candidate list, and at the same time obtain the index of the MVP in the MVP candidate list;
  • Step 3 Use the MVP as the MV of the current block
  • Step 4 Determine the position of the reference block in the reference image according to the MV;
  • Step 5 The reference block is subtracted from the current block to obtain a residual block
  • Step 6 Pass the residual data and the MVP index to the decoder.
  • Merge mode can also have other implementations.
  • Skip mode is a special case of Merge mode. After obtaining the MV according to the Merge mode, if the encoder determines that the current block and the reference block are basically the same, there is no need to transmit residual data, only the index of the MV needs to be passed, and further a flag can be passed, which can indicate that the current block can be directly Obtained from the reference block.
  • the candidate HMVP may be selected from the HMVP candidate list as the candidate MVP in the MVP candidate list.
  • the motion information of the one coded block can be used to update the HMVP list of the next block to be coded, which will make the dependence between the image blocks stronger.
  • the coding (such as motion estimation) of adjacent blocks can be performed in parallel.
  • this dependency will make parallel processing impossible.
  • FIG. 2 is a schematic flowchart of a video processing method 200 according to an embodiment of the present application.
  • the method 200 includes at least part of the following content. Among them, the following method 200 may be used at the encoding end or at the decoding end.
  • a candidate list of historical motion information is obtained, and the candidate list of historical motion information is used to encode or decode each of the plurality of first image blocks included in the first region in the current frame, wherein ,
  • the historical motion information candidate list is obtained based on the motion information of the second image block, the second image block is an encoded or decoded image block other than the image block included in the first area;
  • each of the first image blocks is encoded or decoded according to the historical motion information candidate list.
  • FIG. 3 is a schematic flowchart of a video processing method 300 according to an embodiment of the present application.
  • the method 300 includes at least part of the following content. Among them, the following method 300 may be used at the encoding end or at the decoding end.
  • the updated historical motion information candidate list is used to encode or decode multiple first image blocks in the first region of the current frame.
  • the motion information of the encoded or decoded second image block may be used to construct a historical motion information candidate list, and the constructed historical motion information candidate list may be used to encode multiple first image blocks in the first region Or decoding, the interdependence between the plurality of first image blocks can be overcome, so that the plurality of first image blocks in the first area can be independently encoded or decoded.
  • the historical motion information candidate list in the embodiment of the present application may include at least one candidate historical motion information, and the candidate historical motion information may be selected to construct a motion information list, and the encoding end or the decoding end may select the current from the motion information list Motion information of the image block.
  • the candidate historical motion information may be obtained based on the motion information of the encoded or decoded image block.
  • the motion information in the embodiment of the present application may represent a combination of one or more of a motion vector, a reference frame index value, a motion vector difference, and a motion vector prediction value.
  • the historical motion information candidate list in the embodiment of the present application may be an HMVP candidate list, and the HMVP candidate list may optionally include at least one candidate MVP.
  • the region (for example, the first region or the second region) in the embodiment of the present application may be a motion estimation region (Motion Estimation Region, MER).
  • the MER may be a rectangular area or a non-rectangular area, for example, a non-rectangular area composed of multiple squares and or rectangles.
  • the encoding process of the image blocks in each area can be processed in parallel.
  • the sizes of the regions in the embodiments of the present application may be the same or different.
  • the area can be square, rectangle, diamond, triangle, trapezoid, or circle.
  • one area may belong to only one CTU, that is, the area may not span CTUs, and one CTU may include one or more areas.
  • a region may include one or more CTUs, or include non-integer CTUs, that is, a certain CTU belongs to multiple regions.
  • each area may include one or more image blocks, and the size of each image block may be the same or different.
  • the number of image blocks included in each area may be the same or different. There may be no overlapping part of pixels in each area.
  • the image block in the embodiment of the present application may be a coding unit (Coding Unit, CU), and of course, may also be a prediction unit (PU), which is not specifically limited in the embodiment of the present application.
  • CU Coding Unit
  • PU prediction unit
  • the four MERs shown in FIG. 4 are MER1, MER2, MER3, and MER4, where the size of the four MERs may be the same, and the number of image blocks included in each MER may be different, where MER1 includes There are four CUs in CU0, CU1, CU2 and CU3. MER2 includes five CUs including CU4, CU5, CU6, CU7 and CU8, MER3 includes CU9, and MER4 includes CU10, CU11 and CU12. The size of each CU may not be the same of.
  • the motion information of the encoded or decoded image block in the previous area may be used to update the historical motion information candidate list, and use the updated historical motion
  • the information candidate list encodes or decodes the image block in the current area (first area).
  • the historical motion information candidate list may be updated again using the motion information of the coded or decoded image blocks of the current area for encoding or decoding of the image blocks of the next area.
  • the historical motion information candidate list included in the historical motion information candidate list used and The order of the candidate historical motion information in the candidate list of historical motion information is the same.
  • the historical motion information candidate list can be updated with the motion information of CU0-CU3 before the image blocks in MER2 are encoded or decoded
  • the candidate list of historical motion information used in the process of encoding or decoding all image blocks (CU4-CU8) in MER2 is no longer updated, and the same history is used.
  • Motion information candidate list After all the image blocks (CU9) in MER3 are encoded or decoded, before the image blocks in MER4 are encoded or decoded, the historical motion information candidate list needs to be updated using the CU9 motion information. After the historical motion information candidate list update is completed, During the process of encoding or decoding all image blocks (CU10-CU12) in MER4, the historical motion information candidate list used is no longer updated, and the same historical motion information candidate list is used.
  • the first-in first-out principle when using the historical motion information candidate list to build the motion information list, the first-in first-out principle may be adopted, that is, the historical motion information that is added first is selected first to be used to construct the motion list of information.
  • the first motion information (obtained based on the motion information of the encoded or decoded image block of the second region) may be added to the header of the historical motion information candidate list, where the header here refers to historical motion
  • the header here refers to historical motion
  • the position in the information candidate list that is first selected for constructing the sports information list so that the historical sports information that is first added to the historical sports information candidate list can be preferentially selected for constructing the sports information list.
  • the number of historical motion information candidates included in the historical motion information candidate list may be preset, that is, the size of the historical motion information candidate list is fixed, for example, historical motion information candidates
  • the number of candidate historical motion information included in the list may be fixed at six.
  • adding the motion information of the encoded or decoded image block to the historical motion information candidate list will result in an increase in the number of historical motion information candidates included in the historical motion information candidate list, so that the same can be deleted from the historical motion information candidate list at the same time Number of candidates for historical sports information.
  • the deleted candidate historical motion information may be the candidate historical motion information at the end of the table in the historical motion information candidate list, where the candidate historical motion at the end of the table
  • the information refers to the candidate historical motion information that was last selected for constructing the motion information list.
  • the candidate historical motion information may be deleted from the candidate list of historical motion information in other ways.
  • the same candidate historical motion information may be deleted.
  • the position of the same candidate historical motion information in the historical motion information candidate list has been moved to the head of the historical motion information candidate list.
  • the HMVP candidate list before update includes L candidate historical motion information.
  • the candidate historical motion information to be added is HMVP 2.
  • FIG. 6 can also be understood as HMVP 2 was added, and HMVP candidate list before update HMVP in the candidate list before update HMVP 2 deletion.
  • one candidate historical motion information is the same as a candidate historical motion information in the list before update, and the other candidate historical motion information does not exist in the list before update
  • the same candidate historical motion information at this time, you can delete the same 1 candidate historical motion information in the list, and delete the 1 candidate historical motion information at the end of the table, so that the number of added candidate historical motion information and the deleted
  • the number of candidate historical motion information is the same.
  • the number of candidate historical motion information added to the historical motion information candidate list and/or the deleted candidate historical motion information may be less than a preset value, and the preset value may be less than or equal to the number of candidate historical motion information allowed to be included in the historical motion information candidate list.
  • the motion information of all the encoded or decoded image blocks in the second area may be used to update the candidate list of historical motion information, or may be the motion information of a part of the encoded or decoded image blocks Used to update the candidate list of historical motion information.
  • the second image block for updating the candidate list of historical motion information may be the last image block encoded or decoded in the second region, and/or include the The image block at the specified position in the second area.
  • the image block at the specified position in the second area includes an image block at at least one of the following positions:
  • the upper left corner of the second area the upper right corner of the second area, the lower left corner of the second area, the lower right corner of the second area, and the center point of the second area.
  • the second image block in the second area that can be used to update the historical motion information candidate list may be selected according to the position coordinates and/or encoding order of each second image block.
  • the priority of the image block on the right in the second area is higher than the priority of the image block on the left in the second area, and/or the priority of the image block on the lower side in the second area
  • the level is higher than the priority of the upper image block in the second area.
  • the lower side and the side mentioned here may be relative positions, rather than having to be directly up or down.
  • the priority of the motion information of the image block coded earlier is higher than the priority of the image block coded later.
  • the priority of CU1 and CU3 of MER1 is higher than the priority of CU0 and CU2, and the priority of CU3 is higher than the priority of CU1 .
  • the priority of each second image block in the second area is determined not only according to the position coordinates and/or coding order of the second image block, but also according to other factors. The case does not specifically limit this.
  • the encoded or decoded image block may be selected from the second area according to the amount of historical motion information that needs to be updated each time, and the selected encoded or decoded image block The motion information of is used to update the historical motion information candidate list, where the number of historical motion information that needs to be updated may be equal to the number of selected encoded or decoded image blocks.
  • the number of selected encoded or decoded image blocks may be greater than the number of historical motion information that needs to be updated.
  • the motion information of all or part of the selected encoded or decoded image blocks may be weighted so that the number of available historical motion information is equal to the number of candidate historical motion information that needs to be updated.
  • the motion information of the three encoded or decoded image blocks can be weighted
  • the processing obtains one candidate historical motion information, adds the one candidate historical motion information to the historical motion information candidate list, and deletes one candidate historical motion information from the historical motion information candidate list.
  • the motion information of 2 of the encoded or decoded image blocks can be performed Weighting process obtains one candidate historical motion information, adds the weighted processed one candidate historical motion information and unprocessed one candidate historical motion information to the historical motion information candidate list, and deletes it from the historical motion information candidate list 2 candidate historical sports information.
  • the averaging process when weighting the motion information of multiple encoded or decoded image blocks, the averaging process may or may not be performed,
  • the weight of each motion information may be determined according to the positional relationship between each encoded or decoded image block and the first region and/or the encoding or decoding order of each encoded or decoded image block.
  • the priority of the motion information of the image blocks belonging to the second area on the left side of the first area is higher than the priority of the motion information of the image blocks on the upper left and lower left.
  • the priority of the motion information of the image block coded earlier is higher than the priority of the image block coded later.
  • the plurality of sports information when there is a plurality of sports information that needs to be added to the historical sports information candidate list, the plurality of sports information may have a priority, and the sports information with a higher priority is added to the header of the table. At the previous position, the low-priority motion information is added to the back of the meter.
  • the priority of the motion information of the encoded or decoded image block may be determined according to the positional relationship between the encoded or decoded image block and the current area.
  • the priority of the motion information of the image block located on the left side of the current area is higher than that of the motion information of the upper left and lower left image blocks.
  • the image block that can be used to update the historical motion information candidate list in the second area may be an image block in the affine transformation motion compensation mode (affine) mode.
  • the affine mode optionally describes the field of affine motion (enlargement/reduction, rotation and other irregular motions) of the entire image block according to the motion information of the control point.
  • one or more second regions may be selected to update the historical motion information candidate list, wherein, when a second region is selected to update the historical motion information candidate list, the first
  • the second area may be the area that was encoded or decoded before the first area.
  • the second regions and the first regions are arranged along the row direction of the image or along the column direction of the image.
  • the adopted area needs to have the same row arrangement or the same column arrangement as the current area.
  • MER1 can be used to update the HMVP candidate list and be used to encode or decode MER2
  • MER3 can be used to update the HMVP candidate list to be used to encode or decode MER4.
  • MER2 cannot be used to update the HMVP candidate list, used to encode or decode MER3.
  • MER1 may be used to update the HMVP candidate list for encoding or decoding of MER3
  • MER2 may be used to update the HMVP candidate list for encoding or decoding of MER4.
  • MER3 cannot be used to update the HMVP candidate list, used to encode or decode MER2.
  • the second area when the second area is the area that is encoded or decoded earliest in the row or column direction of the image, the second area is encoded or decoded
  • the HMVP candidate list used at the time is empty.
  • the candidate list is empty.
  • the row (or column) mentioned here may include multiple regions. After encoding multiple regions of a row (column), multiple regions of the next row (column) may be encoded, where each row (or column) The range of row (or column) coordinates is the same, and the range of column (or row) coordinates is different.
  • the above-mentioned row or column may be a CTU row or column, each CTU row or column includes at least one CTU, and each CTU includes at least one region.
  • the HMVP list can be cleared, and then the next CTU row or column can be encoded.
  • the candidate list of historical motion information used by all the image blocks in MER1 is empty; if MER1 Not the first MER in the current CTU line, the historical motion information candidate list used by all the image blocks in MER1 is the historical motion information candidate list after being updated according to the motion information of the image blocks in the previous MER.
  • the embodiments of the present application are not limited to the above description.
  • the candidate list of historical motion information is empty, and the candidate list of historical motion information of other regions is empty. Both can be updated according to the motion information of the image block in the previous area.
  • the candidate list of historical motion information used by all image blocks in MER1 is empty; if MER1 is not The first MER in the current frame, the historical motion information candidate list used by all the image blocks in MER1 is the historical motion information candidate list after being updated according to the motion information of the image blocks in the previous MER.
  • the historical motion information selected for updating may be compared with other higher priority lists (that is, compared to the historical motion information candidate List, the candidate motion information in the list is preferentially used to construct the candidate motion information pruning in the motion information list).
  • the historical sports information selected for updating can be compared with the candidate sports information already in the sports information list.
  • the historical motion information may be added To the candidate list of historical motion information.
  • the historical motion information may not be added to the historical motion information candidate list, and new historical motion information may be selected to be added to the historical motion information candidate list.
  • the motion information of the image block with a lower priority in the second area is selected as historical motion information to be added to the historical motion information candidate list, or the historical motion information candidate list may not be updated, or less The number of candidate historical motion information updates.
  • the number of comparisons described above may be limited.
  • the maximum number of comparisons can be determined based on the following parameters: the number of candidate motion information (or candidate motion information already in the motion information list) in other higher priority lists, and the candidate history included in the historical motion information candidate list The amount of exercise information.
  • the specific limit of the maximum value L may be as follows, for example:
  • L represents the number of comparisons
  • N represents the number of candidate sports information (or, the candidate sports information already in the sports information list) in other higher priority lists
  • M represents the candidate historical sports in the historical sports information candidate list The amount of information.
  • the above-mentioned candidate list of historical motion information may be stored in a storage space.
  • using the motion information of at least one second image block included in the second area of the current frame to update the candidate list of historical motion information is to complete encoding or decoding in the second area Afterwards.
  • the above-mentioned historical motion information candidate list is stored in a storage space. It can be understood that the number of historical motion information candidate lists may be one.
  • the candidate list of historical motion information is updated again, and the candidate list of historical motion information updated again may be used for encoding or decoding of the next region.
  • the above historical motion information candidate list may also be stored in the first storage space and the second storage space that is not the first storage space, respectively.
  • the historical motion information candidate list stored in one of the storage spaces may be used to encode or decode the image block of the second area, and in the process of encoding or decoding the second area, the coded second area may be used Or the decoded second image block updates the candidate list of historical motion information stored in another storage space, so that the encoding or decoding process can be synchronized with the candidate list of historical motion information.
  • the historical motion information candidate list is stored in the first storage space and the second storage space, respectively, and the second area is encoded or decoded using the historical motion information candidate list in the second storage space; During the encoding or decoding process of the two regions, the motion information of at least one second image block included in the second region is used to update the candidate list of historical motion information in the first storage space; The updated candidate list of historical motion information in the first storage space respectively encodes or decodes each first image block.
  • the updated historical motion information candidate list in the first storage space is used to compare the historical motion information in the second storage space Update the candidate list; use the updated candidate list of historical motion information in the second storage space to encode or decode at least one third image block in the third area.
  • the historical motion information candidate list in the second storage space is updated so that the updated historical motion information candidate list in the second storage space and the update in the first storage space
  • the candidate list of historical motion information is the same.
  • the region 1 can be encoded or decoded using the historical motion information candidate list in storage space A. Since the order in which the image blocks in region 1 are encoded or decoded has a sequential order, the images that have been encoded or decoded can be used
  • the motion information of the block updates the candidate list of historical motion information in the storage space B. After the encoding or decoding process of the area 1 is completed, the candidate list of historical motion information in the storage space B may have been updated.
  • the updated historical motion information candidate list in B encodes or decodes the second area, area 2, while using the updated historical motion information candidate list in storage space B to the historical motion information candidate list in storage space A Update; after the candidate list of historical motion information in storage space A is updated based on the updated candidate list of historical motion information in storage space B, you can use the area 2’s
  • the encoded or decoded image block updates the candidate list of historical motion information in storage space A again; after the encoding or decoding process of area 2 is completed, the candidate list of historical motion information in storage space A may have been updated again, you can Use the re-updated historical motion information candidate list in storage space A to encode or decode the image blocks in the third area, area 3, and use the re-updated historical motion information candidate list in storage space A to store
  • the candidate list of historical motion information in space B is updated again. For subsequent operations, refer to the previous description and so on.
  • the candidate list of historical motion information is stored in two storage spaces, and the candidate list of historical motion information in each storage space is alternately used for encoding or decoding of the region, and in the process of encoding or decoding of the region , You can update the currently unused historical motion information candidate list (including updating the used historical motion information candidate list to the currently unused historical motion information candidate list, and the currently encoded or decoded image block Update the motion information to the currently unused historical motion information candidate list), so that the update of the historical motion information candidate list and the image block encoding or decoding can be synchronized, so that the encoding or decoding efficiency can be improved.
  • the candidate list of historical motion information is stored in a first storage space and a second storage space, respectively, and the second area is encoded or decoded using the candidate list of historical motion information in the second storage space;
  • the second region is encoded or decoded using the candidate list of historical motion information in the second storage space;
  • the second region uses the motion information of at least one second image block included in the second region, updating the candidate list of historical motion information in the first storage space;
  • After the encoding or decoding of the second area is completed, use the updated candidate list of historical motion information in the first storage space to update the candidate list of historical motion information in the second storage space Encoding or decoding each of the first image blocks according to the updated candidate list of historical motion information in the second storage space.
  • the motion information of the at least one first image block included in the first region is used to select the historical motion information candidate in the first storage space
  • the list is updated again; after the encoding or decoding of the first area is completed, using the updated historical motion information candidate list in the first storage space, the The historical motion information candidate list is updated again; according to the re-updated historical motion information candidate list in the second storage space, at least one third image block in the third area is encoded or decoded, respectively.
  • the historical motion information candidate list in the second storage space is updated so that the updated historical motion information candidate list in the second storage space and the update in the first storage space
  • the candidate list of historical motion information is the same.
  • region 1 the first region of the current frame or current CTU line
  • storage space A and storage space B respectively store the same candidate list of historical motion information (the list may be empty )
  • the motion information of the block updates the candidate list of historical motion information in the storage space B. After the encoding or decoding process of the area 1 is completed, the candidate list of historical motion information in the storage space B may have been updated.
  • the historical motion information candidate list in B updates the historical motion information candidate list in storage space A to obtain the updated historical motion information candidate list in storage space A; and uses the updated historical motion information candidate list in storage space A , Encode or decode the second area, area 2, and in the process of encoding or decoding area 2, update the candidate list of historical motion information in storage space B, in the encoding or decoding process of area 2
  • the candidate list of historical motion information in storage space B may have been updated again.
  • the candidate list of historical motion information in storage space B may be used to update the candidate list of historical motion information in storage space A again.
  • the renewed historical motion information candidate list in A can encode or decode area 3, and subsequent operations can be inferred by analogy as described above.
  • the candidate list of historical motion information is stored in two storage spaces, and the candidate list of historical motion information in one storage space has always been used for encoding or decoding of a region.
  • Update the candidate list of historical motion information in another storage space after encoding or decoding of the area, use the updated candidate list of historical motion information in the other storage space to update the candidate list of historical motion information in the one storage space, because The time for using one updated historical motion information candidate list to update another historical motion information candidate list is likely to be less than the time for updating the historical motion information candidate list using the motion information of the image block.
  • the updated historical motion information candidate list may be used to generate a motion information list for each first image block of the first area; using the motion information list generated for each first image block, Select motion information for each first image block.
  • the first image block to be coded when selecting the motion information from the motion information list, the first image block to be coded can be matched with the image block corresponding to each motion information in the motion information list, and the matching cost is selected to be the smallest
  • the motion information corresponding to the image block is used as the selected motion information, and the index of the motion information is written into the code stream.
  • the decoding end can construct the motion information list in the same way, and read the index of the motion information from the code stream, and directly select the motion information of the current image block from the motion information list according to the index, so as to further decode according to the motion information.
  • the following uses the Merge mode and the motion information list as the MVP candidate list as an example to describe how to construct the motion information list.
  • composition of the MVP candidate list may include at least part of the following (1) to (5).
  • the airspace candidate MV in (1) may be used to construct an MVP candidate list. If the number of candidate MVPs included in the MVP candidate list formed at this time does not reach the preset number, the MVP candidate list may continue to be included in the airspace candidate MV Add the time-domain candidate MV in (2) to the list. If the number of candidate MVPs included in the MVP candidate list formed at this time does not reach the preset number, you can continue to include MVP candidates including the air-domain candidate MV and the time-domain candidate MV Add the paired average candidate MV in (3) to the list.
  • the number of candidate MVPs included in the MVP candidate list formed at this time does not reach the preset number, you can continue to include airspace candidate MV, time domain candidate MV and Add the HMVP in (4) to the MVP candidate list of the pairwise average candidate MV. If the number of candidate MVPs included in the MVP candidate list formed at this time does not reach the preset number, you can continue to include the airspace candidate MV, time The zero vector in (5) is added to the MVP candidate list of the domain candidate MV, paired average candidate MV, and HMVP until the number of candidate MVPs in the MVP candidate list reaches a preset value.
  • the number of candidate MVPs included in the list has reached a preset number, and at this time, it is possible to stop adding the remaining elements of the item to the MVP candidate list.
  • the MVs of adjacent image blocks on the spatial domain of the current image block may be used as candidate MVPs that can be added to the MVP candidate list.
  • the order of candidate MVPs is A1->B1->B0->A0->B2 according to the priority from high to low.
  • the MV of the image block adjacent to the current image block in the time domain may be used as a candidate MVP that can be added to the MVP candidate list.
  • the temporal domain candidate MV may not directly use the motion information of the candidate block, and may make corresponding scaling adjustments according to the temporal domain position relationship between the current frame and the reference frame.
  • the paired average candidate MVs are derived from the average MVP candidates that currently constitute the MVP candidate list according to a predefined pair.
  • the predefined pairing method and order can be: (0,1), (0,2), (1,2), (0,3), (1,3), (2,3), where 0, 1, 2, and 3 represent the first, second, third, and fourth candidate MVPs in the HMVP candidate list, and each parenthesis represents the MVP candidates in it for averaging.
  • the MV of the coded image block may be used to construct an HMVP candidate list, and the candidate HMVP in the HMVP candidate list may be selected as the candidate MVP added to the MVP candidate list.
  • the candidate list of spatial motion information when constructing the candidate list of spatial motion information, it is also possible to avoid constructing using motion information of image blocks in the same area. Specifically, the image block corresponding to the motion information in the spatial motion information candidate list corresponding to each first image block does not belong to the first area
  • all possible spatial candidate motion information of the image block CU0 (the motion information of the image block where the gray filled block is located) is available because these spatial candidate motion information correspond to The image blocks are outside the MER where CU0 is located.
  • the motion candidate information of the air domain should originally include the motion information of the surrounding 3 black fill blocks and the image block corresponding to 1 white fill block, but since the image block corresponding to 1 white fill block also Uncoded, the image blocks corresponding to the three black filled blocks belong to the same MER as CU5, then the spatial candidate motion information in CU5 may not include the motion information of these blocks, in this case, the spatial candidate motion information list of CU5 may be empty, or The motion information of the image block of another MER is selected as a candidate of the spatial candidate motion information list.
  • the spatial candidate motion information should originally include the motion information of the image blocks corresponding to the 2 gray fill blocks, 1 black fill block, and 2 white fill blocks, but since the image blocks corresponding to the white fill blocks have not yet For coding, the image block corresponding to one black filled block belongs to the same MER as CU9, and the spatial candidate motion information list of CU9 may include motion information of the image block corresponding to two gray filled blocks.
  • the motion information of the second image block that has been encoded or decoded may be used to construct a historical motion information candidate list, and the constructed historical motion information candidate list may be used to encode multiple first image blocks in the first area or Decoding can overcome the dependence of the plurality of first image blocks, so that the plurality of first image blocks in the first area can be independently encoded or decoded.
  • the device 400 includes an acquisition unit 410 and an encoding or decoding unit 420.
  • the obtaining unit 410 is configured to obtain a candidate list of historical motion information, and the candidate list of historical motion information is used to encode each of the first image blocks in the plurality of first image blocks included in the first region in the current frame Or decoding, wherein the historical motion information candidate list is obtained based on motion information of a second image block, the second image block is an encoded or decoded image block other than the image block included in the first area
  • the encoding or decoding unit 420 is used to encode or decode each of the first image blocks according to the historical motion information candidate list.
  • the encoding or decoding unit 420 is further used to:
  • the candidate historical motion information included in the candidate list of historical motion information and the candidate historical motion information are used in The order in the historical motion information candidate list is the same.
  • the obtaining unit 410 is further used to:
  • the encoding or decoding process of the second area is earlier than the first area, and the image blocks of the second area use the historical motion information without the update
  • the candidate list is encoded or decoded.
  • the number of candidate historical motion information added to the historical motion information candidate list is less than a preset value, and/or, The number of candidate historical motion information deleted in the historical motion information candidate list is less than a preset value.
  • the device 400 further includes a selection unit 430, which is used to:
  • the at least one second image block is selected from the image blocks included in the second area.
  • the image block on the right side in the second area has a higher priority than the image block on the left side in the second area, and/or the image block on the lower side in the second area has a higher priority The priority of the upper image block in the second area.
  • the at least one second image block includes the last encoded or decoded image block in the second area, and/or includes an image at a specified position in the second area Piece.
  • the image block at the specified position in the second area includes an image block at at least one of the following positions:
  • the upper left corner of the second area the upper right corner of the second area, the lower left corner of the second area, the lower right corner of the second area, and the center point of the second area.
  • the obtaining unit 410 is further used to:
  • the weighted processed motion information is used to update the historical motion information candidate list.
  • the first area and the second area are arranged along the row direction of the image or along the column direction of the image.
  • the first region and the second region belong to the same coding tree unit CTU row or CTU column, and each CTU row or CTU column includes at least one CTU, and each CTU includes At least one area.
  • the second area when the second area is the area that is encoded or decoded earliest in the row or column direction of the image, the second area is encoded or decoded
  • the candidate list of historical motion information used at the time is empty.
  • the second area is an area that is encoded or decoded before the first area.
  • the obtaining unit 410 is further used to:
  • the obtaining unit 410 is further used to:
  • the second image block is an image block in a non-affine transformation motion compensation mode.
  • the encoding or decoding unit 420 is further used to:
  • the motion information is selected for each first image block by using the motion information lists generated for the first image blocks respectively.
  • the encoding or decoding unit 420 is further used to:
  • the image block corresponding to the motion information in the spatial motion information candidate list corresponding to each first image block does not belong to the first area.
  • the historical motion information candidate list is a historical motion vector prediction HMVP candidate list.
  • the candidate list of historical motion information is stored in a storage space.
  • the use of the motion information of at least one second image block included in the second region of the current frame to update the historical motion information candidate list is performed in the second This is done after the area has been encoded or decoded.
  • the candidate list of historical motion information is stored in a first storage space and a second storage space, respectively, and the second area uses the historical motion in the second storage space If the information candidate list is encoded or decoded, the obtaining unit is further used to:
  • the encoding or decoding unit 420 is further used for:
  • the obtaining unit 410 is further used to:
  • the updated candidate list of historical motion information in the first storage space is used to perform a candidate list of historical motion information in the second storage space Update.
  • the obtaining unit 410 is further used to:
  • the candidate list of historical motion information is stored in a first storage space and a second storage space, respectively, and the second area uses the historical motion in the second storage space If the information candidate list is encoded or decoded, the obtaining unit 410 is further used to:
  • the updated candidate list of historical motion information in the first storage space is used to perform a candidate list of historical motion information in the second storage space Update
  • the encoding or decoding unit 420 is further used for:
  • the obtaining unit 410 is further used to:
  • the motion information of at least one first image block included in the first area is used to re-execute the historical motion information candidate list in the first storage space Update
  • the obtaining unit 410 is further configured to:
  • the video processing device 400 can implement the corresponding operations implemented by the encoding end or the decoding end in the above method embodiments, and for the sake of brevity, no further details are provided here.
  • the device 500 includes an encoding or decoding unit 510 and an update unit 520;
  • the encoding or decoding unit 510 is configured to: use the historical motion information candidate list to encode or decode at least one second image block in the second region of the current frame;
  • the updating unit 520 is configured to update the candidate list of historical motion information based on the motion information after encoding or decoding of at least part of the second image block in the second region to obtain the updated historical motion Information candidate list;
  • the encoding or decoding unit 510 is further configured to: use the updated candidate list of historical motion information to encode or decode multiple first image blocks in the first region of the current frame.
  • the encoding or decoding unit 510 is further used to:
  • the plurality of first image blocks are encoded or decoded in parallel.
  • the candidate historical motion information included in the candidate list of historical motion information and the candidate historical motion information are used in The order in the historical motion information candidate list is the same.
  • the number of candidate historical motion information added to the historical motion information candidate list is less than a preset value, and/or, The number of candidate historical motion information deleted in the historical motion information candidate list is less than a preset value.
  • the device 500 further includes a selection unit 530, which is used to:
  • the at least part of the second image block is selected from the image blocks included in the second area based on the position coordinates of the image blocks of the second area.
  • the image block on the right side in the second area has a higher priority than the image block on the left side in the second area, and/or the image block on the lower side in the second area has a higher priority The priority of the upper image block in the second area.
  • the update unit 520 is further used to:
  • the weighted processed motion information is used to update the historical motion information candidate list.
  • the second regions and the first regions are arranged along the row direction of the image or along the column direction of the image.
  • the second region and the first region belong to the same coding tree unit CTU row or CTU column, and each CTU row or CTU column includes at least one CTU, and each CTU includes At least one area.
  • the second area when the second area is the earliest coded or decoded area in the row or column direction of the image, the second area is encoded or decoded
  • the candidate list of historical motion information used at the time is empty.
  • the second area is an area where the previous one of the first area is encoded or decoded.
  • the update unit 520 is further used to:
  • the update unit 520 is further used to:
  • the second image block is an image block in a non-affine transformation motion compensation mode.
  • the encoding or decoding unit 510 is further used to:
  • the motion information is selected for each first image block by using the motion information lists generated for the first image blocks respectively.
  • the encoding or decoding unit 510 is further used to:
  • the image block corresponding to the motion information in the spatial motion information candidate list corresponding to each first image block does not belong to the first area.
  • the historical motion information candidate list is a historical motion vector prediction HMVP candidate list.
  • the at least part of the second image block includes the last encoded or decoded image block in the second area, and/or includes an image at a specified position in the second area Piece.
  • the image block at the specified position in the second area includes an image block at at least one of the following positions:
  • the upper left corner of the second area the upper right corner of the second area, the lower left corner of the second area, the lower right corner of the second area, and the center point of the second area.
  • the candidate list of historical motion information is stored in a storage space.
  • the use of the motion information of the at least part of the second image block included in the second region of the current frame to update the historical motion information candidate list is performed in the The second area is completed after encoding or decoding.
  • the candidate list of historical motion information is stored in a first storage space and a second storage space, respectively, and the second area uses the historical motion in the second storage space If the information candidate list is encoded or decoded, the update unit is further used to:
  • the encoding or decoding unit 520 is further used for:
  • the update unit 520 is further used to:
  • the updated candidate list of historical motion information in the first storage space is used to perform a candidate list of historical motion information in the second storage space Update.
  • the update unit 520 is further used to:
  • the candidate list of historical motion information is stored in a first storage space and a second storage space, respectively, and the second area uses the historical motion in the second storage space If the information candidate list is encoded or decoded, the update unit 520 is further used to:
  • the updated candidate list of historical motion information in the first storage space is used to perform a candidate list of historical motion information in the second storage space Update
  • the encoding or decoding unit 510 is further configured to separately encode or decode each first image block according to the updated candidate list of historical motion information in the second storage space.
  • the update unit 520 is further used to:
  • the motion information of at least one first image block included in the first area is used to re-execute the historical motion information candidate list in the first storage space Update
  • the update unit 520 is further used to:
  • the video processing device 500 can implement the corresponding operations implemented by the encoding end or the decoding end in the above method embodiments, and for the sake of brevity, no further details are provided here.
  • FIG. 11 shows a schematic block diagram of a computer system 600 according to an embodiment of the present application.
  • the computer system 600 may include a processor 610, and further may include a memory 620.
  • computer system 600 may also include components generally included in other computer systems, such as input and output devices, communication interfaces, and the like, which are not limited in the embodiments of the present application.
  • the memory 620 is used to store computer executable instructions.
  • the memory 620 may be various types of memory, for example, may include a high-speed random access memory (Random Access Memory, RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory, implemented in this application Examples are not limited to this.
  • RAM Random Access Memory
  • non-volatile memory such as at least one disk memory
  • the processor 610 is used to access the memory 620 and execute the computer-executable instructions to perform the operations in the method for video processing in the embodiments of the present application described above.
  • the processor 610 may include a microprocessor, a field-programmable gate array (Field-Programmable Array, FPGA), a central processor (Central Processing Unit, CPU), a graphics processor (Graphics Processing Unit, GPU), etc., implemented in this application Examples are not limited to this.
  • a microprocessor a field-programmable gate array (Field-Programmable Array, FPGA), a central processor (Central Processing Unit, CPU), a graphics processor (Graphics Processing Unit, GPU), etc., implemented in this application Examples are not limited to this.
  • the apparatus and computer system for video processing according to the embodiments of the present application may correspond to the execution subject of the method for video processing according to the embodiments of the present application, and the above-mentioned and other of the various modules in the apparatus and computer system for video processing
  • the operations and/or functions are respectively for implementing the corresponding processes of the foregoing methods, and for brevity, they will not be repeated here.
  • An embodiment of the present application further provides an electronic device.
  • the electronic device may include the above-mentioned various embodiments of the present application for video processing devices or computer systems.
  • An embodiment of the present application further provides a computer storage medium, and the computer storage medium stores a program code, and the program code may be used to instruct to perform the loop filtering method of the foregoing embodiment of the present application.
  • the term “and/or” is merely an association relationship describing an association object, and indicates that there may be three relationships.
  • a and/or B may indicate that there are three cases in which A exists alone, A and B exist simultaneously, and B exists alone.
  • the character "/" in this article generally indicates that the related objects before and after are in an "or” relationship.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be indirect couplings or communication connections through some interfaces, devices, or units, and may also be electrical, mechanical, or other forms of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Part or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present application.
  • the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or software function unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of the present application essentially or part of the contribution to the existing technology, or all or part of the technical solution can be embodied in the form of a software product
  • the computer software product is stored in a storage medium
  • several instructions are included to enable a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .

Landscapes

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

Abstract

本申请实施例提供一种视频处理方法和设备,可以克服多个图像块之间的依赖性,使得多个图像块可以独立编码或解码。该方法包括:获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。

Description

视频处理方法和设备
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,并且更具体地,涉及一种视频处理方法和设备。
背景技术
预测是主流视频编码框架的重要模块,预测可以包括帧内预测和帧间预测。帧间预测模式可以包括高级运动向量预测(Advanced Motion Vector Prediction,AMVP)模式和合并(Merge)模式。在Merge模式中,可以在运动矢量的预测值(Motion Vector Prediction,MVP)候选列表中确定MVP,并直接将该MVP确定为MV,并可以在码流中传递MVP和参考帧索引至解码端,以用于解码端的解码。
在构建上述MVP候选列表时,可以从基于历史的运动矢量预测(History-based motion vector prediction,HMVP)候选列表中选择候选HMVP作为MVP候选列表中的候选MVP。
其中,HMVP候选列表是基于已编码或解码块的运动信息生成的。具体可以为在完成一个已编码或解码块的编码或解码时,利用该一个已编码或解码块的运动信息更新下一个待编码或解码块的HMVP列表,如此将使得图像块之间的依赖性较强。
发明内容
本申请实施例提供一种视频处理方法和设备,可以克服多个图像块之间的依赖性,使得多个图像块可以独立编码或解码。
第一方面,提供了一种视频处理方法,包括:获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选 列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
第二方面,提供了一种视频处理方法,包括:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
第三方面,提供了一种视频处理设备,包括:获取单元,用于获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;编码或解码单元,用于根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
第四方面,提供了一种视频处理设备,其特征在于,包括编码或解码单元和更新单元;所述编码或解码单元用于:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;所述更新单元用于:基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;所述编码或解码单元进一步用于:利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
第五方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问该存储器,并执行该计算机可执行指令,以进行上述第一或第二方面的方法中的操作。
第六方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。
第七方面,提供了一种计算机程序产品,该程序产品包括程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。
在本申请实施例中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块的依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的技术方案的架构图。
图2是根据本申请实施例视频处理方法的示意性流程图。
图3是根据本申请实施例视频处理方法的示意性流程图。
图4是根据本申请实施例的MER的构成图。
图5是根据本申请实施例的视频处理方法的示意性图。
图6是根据本申请实施例的HMVP更新的示意性图。
图7是根据本申请实施例的图像块的相邻块的示意性图。
图8是根据本申请实施例的图像块的空域候选的示意性图。
图9是跟本申请实施例的视频处理设备的示意性框图。
图10是跟本申请实施例的视频处理设备的示意性框图。
图11是跟本申请实施例的计算机系统的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。
图1是应用本申请实施例的技术方案的架构图。
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令,待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。
待编码数据可以包括文本,图像,图形对象,动画序列,音频,视频,或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风,近场传感器(例如,超声波传感器、雷达),位置传感器,温度传感器,触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征,指纹扫描,视网膜扫描,嗓音记录,DNA采样等。
其中,在对每个图像进行编码时,图像可以最初被分成多个图像块。在一些实施例中,图像可以被分成多个图像块,所述图像块在一些编码准中被称为宏块或最大编码单元(LCU,Largest Coding Unit)。图像块可以具有或者可以不具有任何重叠部分。该图像可以被分成任何数量的图像块。举例而言,该图像可以被分成一个m×n图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,如p×q像素。在现代视频编码标准中,可以通过首先将该图像分成多个小块来对不同分辨率的图像进行编码。对于H.264,图像块被称为宏块,其大小可以是16×16像素,并且对于HEVC,图像块被称为最大编码单元,其大小可以是64×64。每个图像块都可以具有相同尺寸和/或形状。替代地,两个或更多图像块可以具有不同的尺寸和/或形状。在一些实施例中,一个图像块也可以 不是一个宏块或最大编码单元,而是包含一个宏块或最大编码单元的部分,或者包含至少两个完整的宏块(或最大编码单元),或者包含至少一个完整的宏块(或最大编码单元)和一个宏块(或最大编码单元)的部分,或者包含至少两个完整的宏块(或最大编码单元)和一些宏块(或最大编码单元)的部分。如此,在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编码。
在编码过程中,为了去除冗余,可以对图像进行预测。视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像,其中帧间预测图像包括前向预测图像和双向预测图像。I图像是帧内预测图像,也称为关键帧;P图像是前向预测图像,也即采用之前已编码的一个P图像或者I图像作为参考图像;B图像是双向预测图像,也即采用前后的图像作为参考图像。一种实现方式是编码端将多张图像进行编码后产生一段一段的图像组(group of picture,GOP),该GOP是由一张I图像,以及多张B图像(或双向预测图像)和/或P图像(或前向预测图像)构成的图像组。解码端在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。
其中,在进行帧间预测时,可以为每个图像块在参考帧中(一般为时域附近的已重构帧)寻找最相似块作为当前图像块的预测块。当前块与预测块之间的相对位移为运动矢量(Motion Vector,MV)。
视频编码标准中的帧间预测模式可以包括AMVP模式和Merge模式。
对于AMVP模式而言,可以先确定MVP,在得到MVP之后,可以根据MVP确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的MV,由MV确定参考块在参考图像中的位置,参考块减去当前块得到残差块,MV减去MVP得到运动矢量差值(Motion Vector Difference,MVD),并将该MVD通过码流传输给解码端。
对于Merge模式而言,可以先确定MVP,并直接将MVP确定为MV其中,为了得到MVP,可以先构建一个MVP候选列表(mergecandidatelist),在MVP候选列表中,可以包括至少一个候选MVP,每个候选MVP可以对应有一个索引,编码端在从MVP候选列表中选择MVP之后,可以将该MVP索引写入到码流中,则解码端可以按照该索引从MVP候选列表中找到该索 引对应的MVP,以实现对图像块的解码。
为了更加清楚地理解Merge模式,以下将介绍采用Merge模式进行编码的操作流程。
步骤一、获取MVP候选列表;
步骤二、从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引;
步骤三、把该MVP作为当前块的MV;
步骤四、根据MV确定参考块在参考图像中的位置;
步骤五、参考块减去当前块得到残差块;
步骤六、把残差数据和MVP的索引传给解码器。
应理解,以下流程只是Merge模式的一种具体实现方式。Merge模式还可以具有其他的实现方式。
例如,Skip模式是Merge模式的一种特例。按照Merge模式得到MV之后,如果编码器确定当前块和参考块基本一样,那么不需要传输残差数据,只需要传递MV的索引,以及进一步地可以传递一个标志,该标志可以表明当前块可以直接从参考块得到。
也就是说,Merge模式特点为:MV=MVP(MVD=0);而Skip模式还多一个特点,即:重构值rec=预测值pred(残差值resi=0)。
在构建上述MVP候选列表时,可以从HMVP候选列表中选择候选HMVP作为MVP候选列表中的候选MVP。
对于以上提到的HMVP,可以在完成一个已编码块的编码时,利用该一个已编码块的运动信息更新下一个待编码块的HMVP列表,如此将使得图像块之间的依赖性较强。
在硬件实现时,为了增加吞吐量,可以使得相邻块的编码(例如运动估计等)过程并行进行,然而,在构建HMVP候选列表时,这种依赖性将会使得并行处理无法进行。
为此,本申请实施例提供的以下方案,可以克服图像块之间的依赖性。
应理解,本申请实施例的方案可以不限于用于以上提到的Merge模式,还可以用于其他的编解码模式,也就是说可以适用于编解码过程中采用了历史运动信息候选列表(例如,HMVP候选列表)的任何编解码模式。
还应理解,本申请实施例的方案可以克服图像块之间的依赖性,从而可以用于图像块进行并行处理的场景,但应理解,本申请实施例还可以用于非并行处理的场景,也就是克服图像块之间的依赖性可以作为它用。
图2是根据本申请实施例的视频处理方法200的示意性流程图。该方法200包括以下内容中的至少部分内容。其中,以下的方法200可以用于编码端,也可以用于解码端。
在210中,获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;
在220中,根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
图3是根据本申请实施例的视频处理方法300的示意性流程图。该方法300包括以下内容中的至少部分内容。其中,以下的方法300可以用于编码端,也可以用于解码端。
在310中,利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;
在320中,基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;
在330中,利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
在以上方法200或300中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块之间的相互依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。
为了更加清楚地理解本申请,以下将对本申请实施例的具体实现方式进行说明。应理解,以下的描述可以适用以上的方法200和300。
本申请实施例中的历史运动信息候选列表可以包括至少一个候选历史 运动信息,该候选历史运动信息可以被选择用于构建运动信息列表,编码端或解码端从而可以从该运动信息列表中选择当前图像块的运动信息。其中,候选历史运动信息可以基于已编码或解码图像块的运动信息获取的。
可选地,本申请实施例中的运动信息可以表示运动矢量、参考帧索引值、运动矢量差、运动矢量预测值中的一个或多个的组合。
本申请实施例中的历史运动信息候选列表可以是HMVP候选列表,而该HMVP候选列表可选地可以包括至少一个候选MVP。
本申请实施例中的区域(例如,第一区域或第二区域)可以为运动估计区域(Motion Estimation Region,MER)。MER可以是矩形区域,也可以是非矩形区域,例如,由多个正方形和或长方形组成的非矩形区域。
每个区域内的图像块的编码过程可以是并行处理的。
本申请实施例中的各个区域的大小可以相同,也可以不相同。区域可以是正方形、长方形、菱形、三角形、梯形或圆形等。
在本申请实施例中,一个区域可以仅属于一个CTU,也即区域可以是不跨CTU的,一个CTU可以包括一个或多个区域。当然,也可以是一个区域包括一个或多个CTU,或者包括非整数个CTU,也就是说,存在某个CTU是属于多个区域的。
在本申请实施例中,每个区域可以包括一个或多个图像块,各个图像块的大小可以相同,也可以不相同。各个区域包括的图像块的数量可以相同,也可以不相同。各个区域的像素可以不存在重叠的部分。
本申请实施例中的图像块可以为编码单元(Coding Unit,CU),当然,也可以是预测单元(prediction unit,PU),本申请实施例对此不做具体限定。
例如,如图4所示的四个MER,即MER1、MER2、MER3和MER4,其中,该四个MER的大小可以是相同,各个MER包括的图像块的数量可以是不同的,其中,MER1包括CU0、CU1、CU2和CU3共四个CU,MER2包括CU4、CU5、CU6、CU7和CU8共五个CU,MER3包括CU9,以及MER4包括CU10、CU11和CU12,各个CU的大小可以是不完全相同的。
可选地,在本申请实施例中,如图5所示,可以利用之前区域(第二区域)的已编码或解码图像块的运动信息,更新历史运动信息候选列表,并利用更新的历史运动信息候选列表,对当前区域(第一区域)的图像块进行编码或解码。进一步地,可以利用当前区域的已编码或解码图像块的运动信息 对历史运动信息候选列表再次更新,以用于下一区域的图像块的编码或解码。
可选地,在本申请实施例中,针对所述第一区域,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。
以区域为MER为例,当前MER中的所有图像块编码或解码完成之后,为了保证编码或解码下一个MER中的CU所使用的历史运动信息候选列表是和当前MER所使用的历史运动信息候选列表是不同的,可以利用当前MER中的图像块的运动信息对历史运动信息候选列表进行更新,编码或解码下一个MER中的CU时,使用更新后的历史运动信息候选列表得到构建运动信息列表。
例如,如图4所示,MER1中的所有图像块(CU0-CU3)编码或解码完成之后,在编码或解码MER2中的图像块之前,可以利用CU0-CU3的运动信息更新历史运动信息候选列表,在历史运动信息候选列表更新完成之后,对MER2中的所有图像块(CU4-CU8)进行编码或解码的过程中,所使用的历史运动信息候选列表不再进行更新,都是使用同一个历史运动信息候选列表。而MER3中的所有图像块(CU9)编码或解码完成之后,在编码或解码MER4中的图像块之前,需要利用CU9的运动信息更新历史运动信息候选列表,在历史运动信息候选列表更新完成之后,对MER4中的所有图像块(CU10-CU12)进行编码或解码的过程中,所使用的历史运动信息候选列表不再进行更新,都是使用同一个历史运动信息候选列表。
可选地,在本申请实施例中,在利用历史运动信息候选列表构建运动信息列表时,可以采用先进先出的原则,也即先被添加进入的历史运动信息,先被选择用于构建运动信息列表。
具体地,可以将第一运动信息(基于第二区域的已编码或解码图像块的运动信息得到的)加入到历史运动信息候选列表的表头中,其中,此处的表头是指历史运动信息候选列表中最先被选择用于构建运动信息列表的位置,从而可以使得先被加入到历史运动信息候选列表中的历史运动信息可以优先被选择用于构建运动信息列表。
可选地,在本申请实施例中,历史运动信息候选列表包括的候选历史运 动信息的数量可以是预设的,也就是说历史运动信息候选列表的大小是固定的,例如,历史运动信息候选列表包括的候选历史运动信息的数量可以固定为6。
如此一来,将已编码或解码图像块的运动信息加入到历史运动信息候选列表将导致历史运动信息候选列表包括的候选历史运动信息的数量增加,从而可以同时从历史运动信息候选列表中删除相同数量的候选历史运动信息。
其中,在从历史运动信息候选列表中删除候选历史运动信息时,删除的候选历史运动信息可以是历史运动信息候选列表中处于表尾处的候选历史运动信息,其中,表尾处的候选历史运动信息是指最后被选择用于构建运动信息列表的候选历史运动信息。
或者,也可以采用其他的方式从历史运动信息候选列表中删除候选历史运动信息。
例如,添加到历史运动信息候选列表的候选历史运动信息与历史运动信息候选列表中已存在的候选历史运动信息相同,则可以将该相同的候选历史运动信息进行删除。此处,也可以理解为将相同的候选历史运动信息在历史运动信息候选列表中的位置进行了移动,移动到了历史运动信息候选列表的表头处。
例如,如图6所示,更新前的HMVP候选列表包括L个候选历史运动信息,需要添加的候选历史运动信息为HMVP 2,对HMVP候选列表进行检查,发现更新前的HMVP候选列表存在相同的HMVP 2,此时可以将该HMVP 2移动到HMVP候选列表的表头,其他候选历史运动信息的位置相应调整。或者,图6也可以理解为在更新前的HMVP候选列表中加入HMVP 2,以及将更新前的HMVP候选列表中的HMVP 2进行删除。
应理解,以上提到的删除表尾处的候选历史运动信息以及将与添加的候选历史运动信息相同的候选历史运动信息进行删除的操作可以同时存在。
例如,需要加入的候选历史运动信息为2个,1个候选历史运动信息与更新前的列表中的某个候选历史运动信息相同,而另1个候选历史运动信息在更新前的列表中不存在相同的候选历史运动信息,此时,可以在列表中删除该相同的1个候选历史运动信息,以及删除表尾处的1个候选历史运动信息,使得添加的候选历史运动信息的数量与删除的候选历史运动信息的数量相同。
可选地,在本申请实施例中,在每次对历史运动信息候选列表进行更新的过程中,历史运动信息候选列表中添加的候选历史运动信息的数量和/或删除的候选历史运动信息的数量可以小于预设值,该预设值可以小于或等于历史运动信息候选列表中允许包括的候选历史运动信息的数量。
可选地,在本申请实施例中,第二区域的全部已编码或解码图像块的运动信息可以用于历史运动信息候选列表的更新,或者也可以是部分已编码或解码图像块的运动信息用于历史运动信息候选列表的更新。
可选地,在本申请实施例中,用于对历史运动信息候选列表进行更新的第二图像块可以是所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
其中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
可选地,在本申请实施例中,第二区域中可以用于对历史运动信息候选列表进行更新的第二图像块可以是根据各个第二图像块的位置坐标和/或编码顺序选择的。
其中,所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。其中,此处提到的下侧和侧可以是相对的位置,而非必须正上或正下位置。或者,较早编码的图像块的运动信息的优先级高于较晚编码图像块的优先级。
例如,如图4所示,以MER2作为当前区域(也即第一区域),则MER1的CU1和CU3的优先级高于CU0和CU2的优先级,而CU3的优先级高于CU1的优先级。
应理解,在本申请实施例中,第二区域中各个第二图像块的优先级除了根据第二图像块的位置坐标和/或编码顺序而定,还可以根据其他因素而定,本申请实施例对此不做具体限定。
可选地,在本申请实施例的一种实现方式中,可以根据每次需要更新的历史运动信息的数量,从第二区域中选择已编码或解码图像块,选择的已编码或解码图像块的运动信息用于更新历史运动信息候选列表,其中,需要更 新的历史运动信息的数量可以等于选择的已编码或解码图像块的数量。
例如,需要对历史运动信息候选列表更新2个候选历史运动信息,则可以从第二区域中选择2个已编码或解码图像块,并在历史运动信息候选列表中添加该选择的2个已编码或解码图像块的运动信息,并删除2个候选历史运动信息。
可选地,在本申请实施例的另一种实现方式中,选择的已编码或解码图像块的数量可以大于需要更新的历史运动信息的数量。此时,可以对全部或部分选择的已编码或解码图像块的运动信息进行加权处理,使得可用的历史运动信息的数量等于需要更新的候选历史运动信息的数量。
例如,需要对历史运动信息候选列表更新的历史运动信息的数量为1个,选择的已编码或解码图像块数量为3个,则可以对该3个已编码或解码图像块的运动信息进行加权处理得到1个候选历史运动信息,将该1个候选历史运动信息加入到历史运动信息候选列表中,并从该历史运动信息候选列表中删除1个候选历史运动信息。
例如,需要对历史运动信息候选列表更新的历史运动信息的数量为2个,选择的已编码或解码图像块的数量为3个,则可以对其中2个已编码或解码图像块的运动信息进行加权处理得到1个候选历史运动信息,将加权处理后的该1个候选历史运动信息和未处理的一个候选历史运动信息加入到历史运动信息候选列表中,并从该历史运动信息候选列表中删除2个候选历史运动信息。
其中,在对多个已编码或解码图像块的运动信息加权处理时,可以进行平均处理,也可以不进行平均处理,
其中,各个运动信息的权重可以根据各个已编码或解码图像块与第一区域的位置关系和/或各个已编码或解码图像块的编码或解码顺序而定。
例如,位于第一区域的左侧的属于第二区域的图像块的运动信息的优先级高于左上和左下的图像块的运动信息的优先级。
例如,较早编码的图像块的运动信息的优先级高于较晚编码图像块的优先级。
可选地,在本申请实施例中,在存在多个运动信息需要加入到历史运动信息候选列表时,该多个运动信息可以具有优先级,优先级高的运动信息加入到表头的更靠前的位置,优先级低的运动信息加入到表头的更靠后的位 置。
其中,已编码或解码图像块的运动信息的优先级可以根据已编码或解码图像块与当前区域的位置关系而定。
例如,位于当前区域的左侧的图像块的运动信息的优先级高于左上和左下的图像块的运动信息的优先级。
可选地,在本申请实施例中,第二区域中可以用于对历史运动信息候选列表进行更新的图像块可以是仿射变换运动补偿模式(affine)模式的图像块。其中,affine模式可选地是根据控制点的运动信息描述整个图像块的仿射运动(放大/缩小,旋转等不规则运动)场。
可选地,在本申请实施例中,可以选择一个或多个第二区域对历史运动信息候选列表进行更新,其中,在选择一个第二区域对历史运动信息候选列表进行更新时,该一个第二区域可以是第一区域的前一个被编码或解码的区域。
可选地,在本申请实施例中,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。
也就是说,对当前区域所用的历史运动信息候选列表进行更新时,采用的区域需要与当前区域具有相同的行排布或相同的列排布。
例如,如图4所示,MER1可以用于对HMVP候选列表进行更新,用于MER2的编码或解码,以及MER3可以用于对HMVP候选列表进行更新,用于对MER4的编码或解码。而MER2不能用于对HMVP候选列表进行更新,用于对MER3进行编码或解码。
或者,如图4所示,MER1可以用于对HMVP候选列表进行更新,用于MER3的编码或解码,以及MER2可以用于对HMVP候选列表进行更新,用于对MER4的编码或解码。而MER3不能用于对HMVP候选列表进行更新,用于对MER2进行编码或解码。
可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述HMVP候选列表为空。
具体地,编码器在每次按行(或列)编码完一个行(或列)时,可以对历史运动信息候选列表进行清空,在对下一个行(或列)进行编码时,历史运动信息候选列表是空的。
此处提到的行(或列)可以包括多个区域,在编码完一行(列)的多个区域后,可以编码下一行(列)的多个区域,其中,各个行(或列)的行(或列)坐标的范围是相同的,列(或行)坐标的范围是不同的。
以上提到的行或列可以是CTU行或列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
则此时在编码完一个CTU行或列时,可以对HMVP列表进行清空,再编码下一个CTU行或列。
例如,如图4所示,在编码MER1中的CU时,若MER1是当前CTU行中的第一个MER时,则MER1中的所有图像块所使用的历史运动信息候选列表为空;若MER1不是当前CTU行中的第一个MER,则MER1中的所有图像块所使用的历史运动信息候选列表是根据前一个MER中图像块的运动信息进行更新之后的历史运动信息候选列表。
应理解,本申请实施例中并不限于以上的描述,例如,只有对当前帧的第一个区域进行编码或解码时,历史运动信息候选列表才为空,其他的区域的历史运动信息候选列表均可以依据前一个区域的图像块的运动信息进行更新得到的。
例如,如图4所示,在编码MER1中的CU时,若MER1是当前帧中的第一个MER时,则MER1中的所有图像块所使用的历史运动信息候选列表为空;若MER1不是当前帧中的第一个MER,则MER1中的所有图像块所使用的历史运动信息候选列表是根据前一个MER中图像块的运动信息进行更新之后的历史运动信息候选列表。
可选地,在本申请实施例中,在对历史运动信息候选列表进行更新时,可以将选择用于更新的历史运动信息与其他更高优先级的列表(也就是相比于历史运动信息候选列表,该列表中的候选运动信息优先用于构建运动信息列表)中的可被选择的候选运动信息比较(pruning)。
其中,若已经利用其他更高优先级的列表构建运动信息列表,则可以将选择用于更新的历史运动信息与运动信息列表中已有的候选运动信息进行比较。
如果发现其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)与该选择的用于更新的历史运动信息不相同,则可以将该历史运动信息加入到该历史运动信息候选列表中。
如果相同,可以不将该历史运动信息加入到该历史运动信息候选列表中,可以再选择新的历史运动信息加入到该历史运动信息候选列表中。
例如,选择第二区域中更低优先级的图像块的运动信息作为历史运动信息加入到该历史运动信息候选列表中,或者,也可以不对该历史运动信息候选列表中进行更新,或者进行较少数量的候选历史运动信息的更新。
其中,为了减少上述比较的次数以降低软硬件资源开销,可以对比较的次数进行限制。
比较的次数最大值可以根据以下参数确定:其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)的数量,以及历史运动信息候选列表包括的候选历史运动信息的数量。
该最大值L的具体限制可以例如如下:
L=(N<=4)?M:(8-N)
其中,L代表比较次数,N表示其他更高优先级的列表中的候选运动信息(或,运动信息列表中已有的候选运动信息)的数量,M表示历史运动信息候选列表中的候选历史运动信息的数量。
以上公式的含义可以理解为:如果N小于或等于4,则比较的次数最大等于M,否则,比较的次数最大为8-N。
可选地,在本申请实施例中,上述历史运动信息候选列表可以存储在一个存储空间中。可选地,在该种情况下,利用当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。
具体地,上述历史运动信息候选列表存储在一个存储空间中可以理解为历史运动信息候选列表的数量可以为1个,此时,在利用该历史运动信息候选列表,对前一个区域的编码或解码完成之后,利用相应图像块的运动信息对该历史运动信息候选列表进行更新,并利用更新后的历史运动信息候选列表对当前区域的图像块进行编码或解码,在对当前区域的图像块进行编码或解码完成后,对该历史运动信息候选列表再次进行更新,再次更新的历史运动信息候选列表可以用于下一个区域的编码或解码。
可选地,在本申请实施例中,上述历史运动信息候选列表也可以分别存储在第一存储空间和非所述第一存储空间的第二存储空间中。此时,可以利用其中一个存储空间存储的历史运动信息候选列表对第二区域的图像块进 行编码或解码,以及可以在第二区域进行编码或解码的过程中,可以利用第二区域的已编码或解码的第二图像块对另一个存储空间存储的历史运动信息候选列表进行更新,从而可以实现编码或解码过程与历史运动信息候选列表的同步进行。
为了便于理解,以下将提供两种实现方式对上述历史运动信息候选列表分别存储在第一存储空间和第二存储空间的情况下的历史运动信息候选列表的使用方式进行说明。
实现方式1
历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的;在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
进一步地,在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;利用所述第二存储空间中的更新后的所述历史运动信息候选列表,对第三区域的至少一个第三图像块进行编码或解码。其中,对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
具体地,在编码或解码第一个区域,区域1(当前帧或当前CTU行的第一个区域)时,存储空间A和存储空间B分别存储有相同的历史运动信息候选列表(列表可以为空),可以对该区域1利用存储空间A中的历史运动信息候选列表进行编码或解码,由于区域1中的图像块的编码或解码的完成顺序存在先后,可以利用已完成编码或解码的图像块的运动信息对存储空间B中的历史运动信息候选列表进行更新,在区域1的编码或解码过程完成之后,存储空间B中的历史运动信息候选列表可能已经更新完毕,此时可以利用存储空间B中的更新后的历史运动信息候选列表对第二个区域,区域2进行编码或解码,同时利用存储空间B中的更新后的历史运动信息候选列表对存储空间A中的历史运动信息候选列表进行更新;在存储空间A中的历史 运动信息候选列表在被基于存储空间B中的更新后的历史运动信息候选列表进行更新之后,可以在区域2的编码或解码过程中,利用区域2的已编码或解码的图像块对存储空间A中的历史运动信息候选列表再次进行更新;在区域2的编码或解码过程完成之后,存储空间A中的历史运动信息候选列表可能已经再次更新完成,则可以利用存储空间A中的再次更新后的历史运动信息候选列表对第三个区域,区域3中的图像块进行编码或解码,同时利用存储空间A中的再次更新后的历史运动信息候选列表对存储空间B中的历史运动信息候选列表再次进行更新,后续操作可以参考之前描述依次类推。
在该种实现方式中,历史运动信息候选列表被存储在两个存储空间中,每个存储空间中的历史运动信息候选列表交替用于区域的编码或解码,并在区域的编码或解码过程中,可以对当前未被利用的历史运动信息候选列表进行更新(包括将被利用的历史运动信息候选列表更新到该当前未被利用的历史运动信息候选列表,以及将当前已编码或解码的图像块的运动信息更新到该当前未被利用的历史运动信息候选列表),从而可以实现历史运动信息候选列表的更新和图像块编码或解码的同步进行,从而可以提高编码或解码效率。
实现方式2
所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的;在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。进一步地,在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新;根据所述第二存储空间中的再次更新后的所述历史运动信息候选列表, 分别对第三区域的至少一个第三图像块进行编码或解码。其中,对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
具体地,在编码或解码第一个区域,区域1(当前帧或当前CTU行的首个区域)时,存储空间A和存储空间B分别存储有相同的历史运动信息候选列表(列表可以为空),可以利用存储空间A中的历史运动信息候选列表,对该区域1进行编码或解码,由于区域1中的图像块的编码或解码的完成顺序存在先后,可以利用已完成编码或解码的图像块的运动信息对存储空间B中的历史运动信息候选列表进行更新,在区域1的编码或解码过程完成之后,存储空间B中的历史运动信息候选列表可能已经更新完毕,此时可以利用存储空间B中的历史运动信息候选列表对存储空间A中的历史运动信息候选列表进行更新,得到存储空间A的更新后的历史运动信息候选列表;并利用存储空间A的更新后的历史运动信息候选列表,对第二个区域,区域2进行编码或解码,并在对区域2进行编码或解码的过程中,对存储空间B中的历史运动信息候选列表进行再次更新,在区域2的编码或解码过程完成之后,存储空间B中的历史运动信息候选列表可能已经再次更新完毕,此时可以利用存储空间B中的历史运动信息候选列表对存储空间A中的历史运动信息候选列表进行再次更新,存储空间A中的再次更新历史运动信息候选列表可以对区域3进行编码或解码,后续操作可以按照以上描述依次类推。
在该种实现方式中,历史运动信息候选列表被存储在两个存储空间中,其中一个存储空间中的历史运动信息候选列表一直用于区域的编码或解码,在区域的编码或解码过程中,对另一个存储空间的历史运动信息候选列表更新,在区域的编码或解码之后,利用该另一个存储空间的更新后的历史运动信息候选列表更新该一个存储空间中的历史运动信息候选列表,由于利用一个更新后的历史运动信息候选列表去更新另一个历史运动信息候选列表的时间很大可能小于利用图像块的运动信息更新历史运动信息候选列表的时间,因此,在种实现方式中,在区域编码或解码完成后,只需利用一个更新后的历史运动信息候选列表去更新另一个历史运动信息候选列表,此处更新需的时间较短,从而可以提高编码或解码效率。
以上介绍了如何对历史运动信息候选列表进行更新,以下将介绍如何利 用更新后的历史运动信息候选列表进行编码或解码。
具体地,可以使用更新后的所述历史运动信息候选列表,分别为第一区域的每个第一图像块生成运动信息列表;利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
其中,对于编码端而言,在从运动信息列表中选择运动信息时,可以将当前待编码的第一图像块与运动信息列表中的各个运动信息对应的图像块进行匹配,选择匹配代价最小的图像块对应的运动信息作为选择的运动信息,并将运动信息的索引写入到码流中。
解码端可以采用相同的方式构建运动信息列表,并从码流中读取运动信息的索引,按照该索引直接从运动信息列表中选择当前图像块的运动信息,从而进一步依据该运动信息进行解码。
以下以Merge模式以及运动信息列表为MVP候选列表为例描述如何构建运动信息列表。
其中,MVP候选列表的组成可以包括以下(1)至(5)中的至少部分。
具体地,可以利用(1)中的空域候选MV构建MVP候选列表,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则可以继续在包括空域候选MV中MVP候选列表中加入(2)中的时域候选MV,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV和时域候选MV的MVP候选列表中加入(3)中的成对平均候选MV,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV、时域候选MV和成对平均候选MV的MVP候选列表中加入(4)中的HMVP,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV、时域候选MV、成对平均候选MV和HMVP的MVP候选列表中加入(5)中零向量,直到MVP候选列表的候选MVP的数量达到预设值。
其中,在将以下的某一项的部分候选加入到MVP候选列表时,该列表包括的候选MVP的数量已经达到预设数量,此时可以停止将该项的剩余部分元素加入到MVP候选列表。
以下将介绍组成候选MVP列表的各部分。
(1)空域候选MV
具体地,可以将与当前图像块空域上相邻图像块的MV作为能够加入到MVP候选列表中的候选MVP。
例如,如图7所示,假设当前图像块的左下角的图像块是A0,左侧的图像块是A1,左上角的图像块是B2,上方的图像块是B1,右上角是B0,则作为候选MVP的顺序按照优先级从高到低是A1->B1->B0->A0->B2。
(2)时域候选MV
具体地,可以将与当前图像块时域上相邻图像块的MV作为能加入到MVP候选列表中的候选MVP。
与空域候选MV情况不同,时域候选MV可以不直接使用候选块的运动信息,可以根据当前帧和参考帧之间的时域位置关系做相应的伸缩调整。
(3)成对平均候选MV
根据当前已构成MVP候选列表的候选MVP按预定义的配对求平均导出成对平均候选MV。
预定义的配对方式及顺序可以为:(0,1),(0,2),(1,2),(0,3),(1,3),(2,3),其中,0、1、2和3分别表示HMVP候选列表中已有的第1、2、3和4个候选MVP,每个括号代表其内的MVP候选进行求平均。
(4)HMVP
可以采用已编码图像块的MV,构建HMVP候选列表,HMVP候选列表中的候选HMVP可以被选择作为加入到MVP候选列表中的候选MVP。
(5)零向量
在将(1)-(4)的各项加入到MVP候选列表时,仍然MVP候选列表中的MVP候选仍然没有达到预定数量,则可以使用零向量进行填充,直到MVP候选列表的候选MVP的数量达到预设值。
应理解,以上介绍的运动信息列表仅仅是本申请实施例的一种具体实现方式,不应对本申请实施例造成特别限定。
可选地,在本申请实施例中,在对空域运动信息候选列表进行构建时,也可以避免采用相同的区域的图像块的运动信息进行构建。具体地,所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域
例如,如图8所示,对于第一个MER,图像块CU0的所有可能的空域候选运动信息(灰色填充块所在的图像块的运动信息)都是可得的,因为这些空域候选运动信息对应的图像块都在CU0所在的MER之外。对于第二个MER的CU5而言,空域候选运动信息原本应该包括周围的3个黑色填充块和1个白色填充块对应的图像块的运动信息,但是由于1个白色填充块对应的图像块还未编码,3个黑色填充块对应的图像块与CU5属于相同的MER,则CU5中的空域候选运动信息可以不包括这些块的运动信息,此时CU5的空域候选运动信息列表可以为空,或者选择其他的MER的图像块的运动信息作为空域候选运动信息列表的候选。对于CU9而言,空域候选运动信息原本应该包括周围的2个灰色填充块、1个黑色填充块和2个白色填充块对应的图像块的运动信息,但是由于白色填充块对应的图像块还未编码,1个黑色填充块对应的图像块与CU9属于相同的MER,则CU9的空域候选运动信息列表可以包括2个灰色填充块对应的图像块的运动信息。
在本申请实施例中,可以利用已编码或解码的第二图像块的运动信息构建历史运动信息候选列表,利用构建的历史运动信息候选列表对第一区域的多个第一图像块进行编码或解码,可以克服该多个第一图像块的依赖性,使得第一区域的多个第一图像块可以保持独立编码或解码。
图9是根据本申请实施例的视频处理设备400的示意性框图。该设备400包括获取单元410和编码或解码单元420。
其中,获取单元410,用于获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;编码或解码单元420,用于根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述编码或解码单元420进一步用于:
根据所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
可选地,在本申请实施例中,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候 选历史运动信息在所述历史运动信息候选列表中的顺序相同。
可选地,在本申请实施例中,所述获取单元410进一步用于:
利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,更新后的所述历史运动信息候选列表用于对所述多个第一图像块进行编码或解码;
可选地,在本申请实施例中,所述第二区域的编码或解码过程早于所述第一区域,所述第二区域的图像块是采用未进行所述更新的所述历史运动信息候选列表进行编码或解码的。
可选地,在本申请实施例中,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。
可选地,在本申请实施例中,设备400还包括选择单元430,用于:
基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少一个第二图像块。
可选地,在本申请实施例中,在从所述第二区域包括的图像块中选择所述至少一个第二图像块的过程中:
所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
可选地,在本申请实施例中,所述至少一个第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
可选地,在本申请实施例中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
可选地,在本申请实施例中,所述获取单元410进一步用于:
对多个所述第二图像块的运动信息进行加权处理;
利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
可选地,在本申请实施例中,所述第一区域与所述第二区域沿图像的行方向排布,或沿图像的列方向排布。
可选地,在本申请实施例中,所述第一区域与所述第二区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
可选地,在本申请实施例中,所述第二区域是所述第一区域的前一个被编码或解码的区域。
可选地,在本申请实施例中,所述获取单元410进一步用于:
将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
可选地,在本申请实施例中,所述获取单元410进一步用于:
将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
可选地,在本申请实施例中,所述第二图像块为非仿射变换运动补偿模式的图像块。
可选地,在本申请实施例中,所述编码或解码单元420进一步用于:
使用所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
可选地,在本申请实施例中,所述编码或解码单元420进一步用于:
使用所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
可选地,在本申请实施例中,所述历史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
可选地,在本申请实施例中,所述历史运动信息候选列表存储在一个存储空间中。
可选地,在本申请实施例中,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。
可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元进一步用于:
在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
所述编码或解码单元420进一步用于:
根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述获取单元410进一步用于:
在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
可选地,在本申请实施例中,所述获取单元410进一步用于:
对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元410进一步用于:
在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
所述编码或解码单元420进一步用于:
根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述获取单元410进一步用于:
在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
可选地,在本申请实施例中,所述获取单元410进一步用于:
对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
应理解,该视频处理设备400可以实现以上方法实施例中由编码端或解码端实现的相应操作,为了简洁,在此不再赘述。
图10是根据本申请实施例的视频处理设备500的示意性框图。该设备500包括编码或解码单元510和更新单元520;
所述编码或解码单元510用于:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;
所述更新单元520用于:基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;
所述编码或解码单元510进一步用于:利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述编码或解码单元510进一步用于:
利用更新后的所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
可选地,在本申请实施例中,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。
可选地,在本申请实施例中,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。
可选地,在本申请实施例中,设备500还包括选择单元530,用于:
基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少部分第二图像块。
可选地,在本申请实施例中,在从所述第二区域包括的图像块中选择所述至少部分第二图像块的过程中:
所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
可选地,在本申请实施例中,所述更新单元520进一步用于:
对所述至少部分第二图像块的运动信息进行加权处理;
利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
可选地,在本申请实施例中,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。
可选地,在本申请实施例中,所述第二区域与所述第一区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
可选地,在本申请实施例中,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
可选地,在本申请实施例中,所述第二区域是所述第一区域的前一个被编码或解码的区域。
可选地,在本申请实施例中,所述更新单元520进一步用于:
将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
可选地,在本申请实施例中,所述更新单元520进一步用于:
将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者, 将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
可选地,在本申请实施例中,所述第二图像块为非仿射变换运动补偿模式的图像块。
可选地,在本申请实施例中,所述编码或解码单元510进一步用于:
使用更新后的所述历史运动信息候选列表,分别为每个第一图像块生成运动信息列表;
利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
可选地,在本申请实施例中,所述编码或解码单元510进一步用于:
使用更新后的所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成所述运动信息列表;
所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
可选地,在本申请实施例中,所述历史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
可选地,在本申请实施例中,所述至少部分第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
可选地,在本申请实施例中,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
可选地,在本申请实施例中,所述历史运动信息候选列表存储在一个存储空间中。
可选地,在本申请实施例中,所述利用所述当前帧的第二区域包括的所述至少部分第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。
可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所 述历史运动信息候选列表进行编码或解码的,所述更新单元进一步用于:
在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
所述编码或解码单元520进一步用于:
根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述更新单元520进一步用于:
在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
可选地,在本申请实施例中,所述更新单元520进一步用于:
对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
可选地,在本申请实施例中,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述更新单元520进一步用于:
在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
所述编码或解码单元510进一步用于:根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
可选地,在本申请实施例中,所述更新单元520进一步用于:
在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
可选地,在本申请实施例中,所述更新单元520进一步用于:
对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
应理解,该视频处理设备500可以实现以上方法实施例中由编码端或解码端实现的相应操作,为了简洁,在此不再赘述。
图11示出了本申请实施例的计算机系统600的示意性框图。
如图11所示,该计算机系统600可以包括处理器610,进一步地可以包括存储器620。
应理解,该计算机系统600还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本申请实施例对此并不限定。
存储器620用于存储计算机可执行指令。
存储器620可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本申请实施例对此并不限定。
处理器610用于访问该存储器620,并执行该计算机可执行指令,以进行上述本申请实施例的用于视频处理的方法中的操作。
处理器610可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本申请实施例对此并不限定。
本申请实施例的用于视频处理的设备和计算机系统可对应于本申请实施例的用于视频处理的方法的执行主体,并且用于视频处理的设备和计算机系统中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的用于视频处理的设备或者计算机系统。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储 有程序代码,该程序代码可以用于指示执行上述本申请实施例的环路滤波的方法。
应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (114)

  1. 一种视频处理方法,其特征在于,包括:
    获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;
    根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  2. 根据权利要求1所述的方法,其特征在于,所述根据历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码,包括:
    根据所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
  3. 根据权利要求1或2所述的方法,其特征在于,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述获取历史运动信息候选列表,包括:
    利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,更新后的所述历史运动信息候选列表用于对所述多个第一图像块进行编码或解码。
  5. 根据权利要求4所述的方法,其特征在于,
    所述第二区域的编码或解码过程早于所述第一区域,所述第二区域的图像块是采用未进行所述更新的所述历史运动信息候选列表进行编码或解码的。
  6. 根据权利要求4或5所述的方法,其特征在于,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。
  7. 根据权利要求4至6中任一项所述的方法,其特征在于,在所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历 史运动信息候选列表进行更新之前,所述方法还包括:
    基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少一个第二图像块。
  8. 根据权利要求7所述的方法,其特征在于,在从所述第二区域包括的图像块中选择所述至少一个第二图像块的过程中:
    所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
  9. 根据权利要求4至8中任一项所述的方法,其特征在于,所述至少一个第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
  10. 根据权利要求9所述的方法,其特征在于,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
    所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
  11. 根据权利要求4至10中任一项所述的方法,其特征在于,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,包括:
    对多个所述第二图像块的运动信息进行加权处理;
    利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
  12. 根据权利要求4至11中任一项所述的方法,其特征在于,所述第一区域与所述第二区域沿图像的行方向排布,或沿图像的列方向排布。
  13. 根据权利要求12所所述的方法,其特征在于,所述第一区域与所述第二区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
  14. 根据权利要求12或13所述的方法,其特征在于,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
  15. 根据权利要求4至14中任一项所述的方法,其特征在于,所述第二区域是所述第一区域的前一个被编码或解码的区域。
  16. 根据权利要求4至15中任一项所述的方法,其特征在于,所述对所述历史运动信息候选列表进行更新,包括:
    将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
  17. 根据权利要求16所述的方法,其特征在于,所述对所述历史运动信息候选列表进行更新,还包括:
    将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
  18. 根据权利要求1至17中任一项所述的方法,其特征在于,所述第二图像块为非仿射变换运动补偿模式的图像块。
  19. 根据权利要求1至18中任一项所述的方法,其特征在于,所述使用历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码,包括:
    使用所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
    利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
  20. 根据权利要求19所述的方法,其特征在于,所述使用所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表,包括:
    使用所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
    所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
  21. 根据权利要求1至20中任一项所述的方法,其特征在于,所述历史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
  22. 根据权利要求1至21中任一项所述的方法,其特征在于,所述历史运动信息候选列表存储在一个存储空间中。
  23. 根据权利要求1至22中任一项所述的方法,其特征在于,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行 的。
  24. 根据权利要求4至17中任一项所述的方法,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,包括:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    所述根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码,包括:
    根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  25. 根据权利要求24所述的方法,其特征在于,所述方法还包括:
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
  26. 根据权利要求25所述的方法,其特征在于,所述利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新,包括:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  27. 根据权利要求4至17中任一项所述的方法,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,包括:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
    所述根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码,包括:
    根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  28. 根据权利要求27所述的方法,其特征在于,所述方法还包括:
    在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
    在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
  29. 根据权利要求27或28所述的方法,其特征在于,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新,包括:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  30. 一种视频处理方法,其特征在于,包括:
    利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;
    基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;
    利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
  31. 根据权利要求30所述的方法,其特征在于,所述利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码,包括:
    利用更新后的所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
  32. 根据权利要求30或31所述的方法,其特征在于,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。
  33. 根据权利要求30至32中任一项所述的方法,其特征在于,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。
  34. 根据权利要求30至33中任一项所述的方法,其特征在于,在所述对历史运动信息候选列表进行更新之前,所述方法还包括:
    基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少部分第二图像块。
  35. 根据权利要求34所述的方法,其特征在于,在从所述第二区域包括的图像块中选择所述至少部分第二图像块的过程中:
    所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
  36. 根据权利要求30至35中任一项所述的方法,其特征在于,所述利用所述第二区域包括的至少部分第二图像块的运动信息,对所述历史运动信息候选列表进行更新,包括:
    对所述至少部分第二图像块的运动信息进行加权处理;
    利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
  37. 根据权利要求30至36中任一项所述的方法,其特征在于,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。
  38. 根据权利要求37所所述的方法,其特征在于,所述第二区域与所述第一区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
  39. 根据权利要求37或38所述的方法,其特征在于,在所述第二区域 是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
  40. 根据权利要求30至39中任一项所述的方法,其特征在于,所述第二区域是所述第一区域的前一个被编码或解码的区域。
  41. 根据权利要求30至40中任一项所述的方法,其特征在于,所述对所述历史运动信息候选列表进行更新,包括:
    将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
  42. 根据权利要求41所述的方法,其特征在于,所述对历史运动信息候选列表进行更新,还包括:
    将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
  43. 根据权利要求30至42中任一项所述的方法,其特征在于,所述第二图像块为非仿射变换运动补偿模式的图像块。
  44. 根据权利要求30至43中任一项所述的方法,其特征在于,所述利用更新后的所述历史运动信息候选列表,对第一区域中的多个第一图像块进行编码,包括:
    使用更新后的所述历史运动信息候选列表,分别为每个第一图像块生成运动信息列表;
    利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
  45. 根据权利要求44所述的方法,其特征在于,所述使用更新后的所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表,包括:
    使用更新后的所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成所述运动信息列表;
    所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
  46. 根据权利要求30至45中任一项所述的方法,其特征在于,所述历 史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
  47. 根据权利要求30至46中任一项所述的方法,其特征在于,所述至少部分第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
  48. 根据权利要求47所述的方法,其特征在于,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
    所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
  49. 根据权利要求30至48中任一项所述的方法,其特征在于,所述历史运动信息候选列表存储在一个存储空间中。
  50. 根据权利要求30至49中任一项所述的方法,其特征在于,所述利用所述当前帧的第二区域包括的所述至少部分第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。
  51. 根据权利要求30至48中任一项所述的方法,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,包括:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    所述根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码,包括:
    根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  52. 根据权利要求51所述的方法,其特征在于,所述方法还包括:
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
  53. 根据权利要求52所述的方法,其特征在于,所述利用所述第一存 储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新,包括:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  54. 根据权利要求30至48中任一项所述的方法,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,包括:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
    所述利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码,包括:
    根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  55. 根据权利要求54所述的方法,其特征在于,;
    所述方法还包括:
    在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
    在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
  56. 根据权利要求54或55所述的方法,其特征在于,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新,包括:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  57. 一种视频处理设备,其特征在于,包括:
    获取单元,用于获取历史运动信息候选列表,所述历史运动信息候选列表用于对当前帧中的第一区域包括的多个第一图像块中的每个第一图像块进行编码或解码,其中,所述历史运动信息候选列表是基于第二图像块的运动信息获取的,所述第二图像块是除所述第一区域包括的图像块之外的已编码或解码图像块;
    编码或解码单元,用于根据所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  58. 根据权利要求57所述的设备,其特征在于,所述编码或解码单元进一步用于:
    根据所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
  59. 根据权利要求57或58所述的设备,其特征在于,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中的顺序相同。
  60. 根据权利要求57至59中任一项所述的设备,其特征在于,所述获取单元进一步用于:
    利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息,对所述历史运动信息候选列表进行更新,更新后的所述历史运动信息候选列表用于对所述多个第一图像块进行编码或解码。
  61. 根据权利要求60所述的设备,其特征在于,
    所述第二区域的编码或解码过程早于所述第一区域,所述第二区域的图像块是采用未进行所述更新的所述历史运动信息候选列表进行编码或解码的。
  62. 根据权利要求60或61所述的设备,其特征在于,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的 候选历史运动信息的数量小于预设值。
  63. 根据权利要求60至62中任一项所述的设备,其特征在于,还包括选择单元,用于:
    基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少一个第二图像块。
  64. 根据权利要求63所述的设备,其特征在于,在从所述第二区域包括的图像块中选择所述至少一个第二图像块的过程中:
    所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
  65. 根据权利要求60至64中任一项所述的设备,其特征在于,所述至少一个第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
  66. 根据权利要求65所述的设备,其特征在于,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
    所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
  67. 根据权利要求60至66中任一项所述的设备,其特征在于,所述获取单元进一步用于:
    对多个所述第二图像块的运动信息进行加权处理;
    利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
  68. 根据权利要求60至67中任一项所述的设备,其特征在于,所述第一区域与所述第二区域沿图像的行方向排布,或沿图像的列方向排布。
  69. 根据权利要求68所所述的设备,其特征在于,所述第一区域与所述第二区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
  70. 根据权利要求68或69所述的设备,其特征在于,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
  71. 根据权利要求60至70中任一项所述的设备,其特征在于,所述第 二区域是所述第一区域的前一个被编码或解码的区域。
  72. 根据权利要求60至71中任一项所述的设备,其特征在于,所述获取单元进一步用于:
    将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
  73. 根据权利要求72所述的设备,其特征在于,所述获取单元进一步用于:
    将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
  74. 根据权利要求57至73中任一项所述的设备,其特征在于,所述第二图像块为非仿射变换运动补偿模式的图像块。
  75. 根据权利要求57至74中任一项所述的设备,其特征在于,所述编码或解码单元进一步用于:
    使用所述历史运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
    利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
  76. 根据权利要求75所述的设备,其特征在于,所述编码或解码单元进一步用于:
    使用所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成运动信息列表;
    所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
  77. 根据权利要求57至76中任一项所述的设备,其特征在于,所述历史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
  78. 根据权利要求57至77中任一项所述的设备,其特征在于,所述历史运动信息候选列表存储在一个存储空间中。
  79. 根据权利要求57中78中任一项所述的设备,其特征在于,所述利用所述当前帧的第二区域包括的至少一个第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行 的。
  80. 根据权利要求60至73中任一项所述的设备,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元进一步用于:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    所述编码或解码单元进一步用于:
    根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  81. 根据权利要求80所述的设备,其特征在于,所述获取单元进一步用于:
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
  82. 根据权利要求81所述的设备,其特征在于,所述获取单元进一步用于:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  83. 根据权利要求60至73中任一项所述的设备,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述获取单元进一步用于:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的至少一个第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
    所述编码或解码单元进一步用于:
    根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  84. 根据权利要求83所述的设备,其特征在于,所述获取单元进一步用于:
    在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
    在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
  85. 根据权利要求83或84所述的设备,其特征在于,所述获取单元进一步用于:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  86. 一种视频处理设备,其特征在于,包括编码或解码单元和更新单元;
    所述编码或解码单元用于:利用历史运动信息候选列表,对当前帧的第二区域中的至少一个第二图像块进行编码或解码;
    所述更新单元用于:基于所述第二区域中的至少部分第二图像块编码或解码后的运动信息,对所述历史运动信息候选列表进行更新,以得到更新后的所述历史运动信息候选列表;
    所述编码或解码单元进一步用于:利用更新后的所述历史运动信息候选列表,对所述当前帧的第一区域中的多个第一图像块进行编码或解码。
  87. 根据权利要求86所述的设备,其特征在于,所述编码或解码单元进一步用于:
    利用更新后的所述历史运动信息候选列表,并行对所述多个第一图像块进行编码或解码。
  88. 根据权利要求86或87所述的设备,其特征在于,为不同的所述第一图像块进行编码或解码时,所采用的所述历史运动信息候选列表包括的候选历史运动信息和所述候选历史运动信息在所述历史运动信息候选列表中 的顺序相同。
  89. 根据权利要求86至88中任一项所述的设备,其特征在于,对所述历史运动信息候选列表进行更新时,在所述历史运动信息候选列表中添加的候选历史运动信息的数量小于预设值,和/或,在所述历史运动信息候选列表中删除的候选历史运动信息的数量小于预设值。
  90. 根据权利要求86至89中任一项所述的设备,其特征在于,还包括选择单元,用于:
    基于所述第二区域的图像块的位置坐标,从所述第二区域包括的图像块中选择所述至少部分第二图像块。
  91. 根据权利要求90所述的设备,其特征在于,在从所述第二区域包括的图像块中选择所述至少部分第二图像块的过程中:
    所述第二区域中右侧的图像块的优先级高于所述第二区域中左侧的图像块的优先级,和/或,所述第二区域中下侧的图像块的优先级高于所述第二区域中上侧的图像块的优先级。
  92. 根据权利要求86至91中任一项所述的设备,其特征在于,所述更新单元进一步用于:
    对所述至少部分第二图像块的运动信息进行加权处理;
    利用加权处理后的所述运动信息,对所述历史运动信息候选列表进行更新。
  93. 根据权利要求86至92中任一项所述的设备,其特征在于,所述第二区域与所述第一区域沿图像的行方向排布,或沿图像的列方向排布。
  94. 根据权利要求93所所述的设备,其特征在于,所述第二区域与所述第一区域属于相同的编码树单元CTU行或CTU列,每个CTU行或CTU列包括至少一个CTU,每个CTU包括至少一个区域。
  95. 根据权利要求93或94所述的设备,其特征在于,在所述第二区域是沿图像的行方向排布或列方向排布中最早被编码或解码的区域时,对所述第二区域进行编码或解码时所采用的所述历史运动信息候选列表为空。
  96. 根据权利要求86至95中任一项所述的设备,其特征在于,所述第二区域是所述第一区域的前一个被编码或解码的区域。
  97. 根据权利要求86至96中任一项所述的设备,其特征在于,所述更新单元进一步用于:
    将需要添加的第一候选历史运动信息加入到所述历史运动信息候选列表的表头中。
  98. 根据权利要求97所述的设备,其特征在于,所述更新单元进一步用于:
    将所述历史运动信息候选列表末尾处的候选历史运动信息删除,或者,将所述历史运动信息表中与所述第一候选历史运动信息相同的候选历史运动信息删除。
  99. 根据权利要求86至98中任一项所述的设备,其特征在于,所述第二图像块为非仿射变换运动补偿模式的图像块。
  100. 根据权利要求86至99中任一项所述的设备,其特征在于,所述编码或解码单元进一步用于:
    使用更新后的所述历史运动信息候选列表,分别为每个第一图像块生成运动信息列表;
    利用分别为所述每个第一图像块生成的运动信息列表,为所述每个第一图像块选择运动信息。
  101. 根据权利要求86至100中任一项所述的设备,其特征在于,所述编码或解码单元进一步用于:
    使用更新后的所述历史运动信息候选列表,以及所述每个第一图像块对应的空域运动信息候选列表,分别为所述每个第一图像块生成所述运动信息列表;
    所述每个第一图像块对应的空域运动信息候选列表中的运动信息对应的图像块不属于所述第一区域。
  102. 根据权利要求86至101中任一项所述的设备,其特征在于,所述历史运动信息候选列表为基于历史的运动矢量预测HMVP候选列表。
  103. 根据权利要求86至102中任一项所述的设备,其特征在于,所述至少部分第二图像块包括所述第二区域中最后一个编码或解码的图像块,和/或,包括所述第二区域中指定位置的图像块。
  104. 根据权利要求103所述的设备,其特征在于,所述第二区域中指定位置的图像块包括位于以下至少一个位置处的图像块:
    所述第二区域的左上角、所述第二区域的右上角、所述第二区域的左下角、所述第二区域的右下角、所述第二区域的中心点。
  105. 根据权利要求86至104中任一项所述的设备,其特征在于,所述历史运动信息候选列表存储在一个存储空间中。
  106. 根据权利要求86至105中任一项所述的设备,其特征在于,所述利用所述当前帧的第二区域包括的所述至少部分第二图像块的运动信息对所述历史运动信息候选列表进行更新,是在所述第二区域完成编码或解码之后进行的。
  107. 根据权利要求86至104中任一项所述的设备,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述更新单元进一步用于:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    所述编码或解码单元进一步用于:
    根据所述第一存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  108. 根据权利要求107所述的设备,其特征在于,所述更新单元进一步用于:
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新。
  109. 根据权利要求108所述的设备,其特征在于,所述更新单元进一步用于:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  110. 根据权利要求86至104中任一项所述的设备,其特征在于,所述历史运动信息候选列表分别存储在第一存储空间和第二存储空间,所述第二区域是利用所述第二存储空间中的所述历史运动信息候选列表进行编码或解码的,所述更新单元进一步用于:
    在所述第二区域的编码过程或解码过程中,利用所述第二区域包括的所 述至少部分第二图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行更新;
    在所述第二区域的编码或解码完成之后,利用所述第一存储空间中的更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行更新;
    所述编码或解码单元进一步用于:根据所述第二存储空间中的更新后的所述历史运动信息候选列表,分别对所述每个第一图像块进行编码或解码。
  111. 根据权利要求110所述的设备,其特征在于,
    所述更新单元进一步用于:
    在所述第一区域的编码过程或解码过程中,利用所述第一区域包括的至少一个第一图像块的运动信息,对所述第一存储空间中的所述历史运动信息候选列表进行再次更新;
    在所述第一区域的编码或解码完成之后,利用所述第一存储空间中的再次更新后的所述历史运动信息候选列表,对所述第二存储空间中的所述历史运动信息候选列表进行再次更新。
  112. 根据权利要求110或111所述的设备,其特征在于,所述更新单元进一步用于:
    对所述第二存储空间中的所述历史运动信息候选列表进行更新,使得所述第二存储空间中的更新后的所述历史运动信息候选列表和所述第一存储空间中的更新后的所述历史运动信息候选列表相同。
  113. 一种视频处理设备,其特征在于,包括处理器,所述处理器用于处理根据权利要求1至56中任一项所述的方法。
  114. 一种计算机可读存储介质,其特征在于,用于存储代码,所述代码用于使得处理器执行根据权利要求1至56中任一项所述的方法。
PCT/CN2018/125843 2018-12-29 2018-12-29 视频处理方法和设备 WO2020133518A1 (zh)

Priority Applications (18)

Application Number Priority Date Filing Date Title
JP2021531890A JP7343097B2 (ja) 2018-12-29 2018-12-29 動画処理方法、装置、およびコンピュータプログラム
CN202111243540.9A CN113905239A (zh) 2018-12-29 2018-12-29 视频处理方法和设备
CN201880065711.3A CN111213381B (zh) 2018-12-29 2018-12-29 视频处理方法和设备
EP18944635.4A EP3905684A4 (en) 2018-12-29 2018-12-29 VIDEO PROCESSING METHOD AND DEVICE
PCT/CN2018/125843 WO2020133518A1 (zh) 2018-12-29 2018-12-29 视频处理方法和设备
KR1020217020756A KR20210094082A (ko) 2018-12-29 2018-12-29 비디오 처리 방법 및 기기
CN201980005316.0A CN111279693B (zh) 2018-12-29 2019-03-13 视频处理方法和设备
JP2021533606A JP7239702B2 (ja) 2018-12-29 2019-03-13 動画像処理方法、装置、および不揮発性可読記憶媒体
KR1020217020254A KR20210094064A (ko) 2018-12-29 2019-03-13 비디오 처리 방법 및 기기
PCT/CN2019/078049 WO2020133717A1 (zh) 2018-12-29 2019-03-13 视频处理方法和设备
CN202111241960.3A CN113992910A (zh) 2018-12-29 2019-03-13 视频处理方法和设备
EP19902243.5A EP3905693A4 (en) 2018-12-29 2019-03-13 VIDEO PROCESSING METHOD AND APPARATUS
CN201980004976.7A CN111567046B (zh) 2018-12-29 2019-09-30 视频处理方法和设备
PCT/CN2019/109659 WO2020134304A1 (zh) 2018-12-29 2019-09-30 视频处理方法和设备
US17/362,309 US11936847B2 (en) 2018-12-29 2021-06-29 Video processing method and device thereof
US17/362,078 US11997254B2 (en) 2018-12-29 2021-06-29 Video processing method and device thereof
JP2023029970A JP7415065B2 (ja) 2018-12-29 2023-02-28 動画像処理方法および装置
JP2023133667A JP2023156473A (ja) 2018-12-29 2023-08-18 動画処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125843 WO2020133518A1 (zh) 2018-12-29 2018-12-29 视频处理方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/362,078 Continuation US11997254B2 (en) 2018-12-29 2021-06-29 Video processing method and device thereof

Publications (1)

Publication Number Publication Date
WO2020133518A1 true WO2020133518A1 (zh) 2020-07-02

Family

ID=70790032

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/CN2018/125843 WO2020133518A1 (zh) 2018-12-29 2018-12-29 视频处理方法和设备
PCT/CN2019/078049 WO2020133717A1 (zh) 2018-12-29 2019-03-13 视频处理方法和设备
PCT/CN2019/109659 WO2020134304A1 (zh) 2018-12-29 2019-09-30 视频处理方法和设备

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/CN2019/078049 WO2020133717A1 (zh) 2018-12-29 2019-03-13 视频处理方法和设备
PCT/CN2019/109659 WO2020134304A1 (zh) 2018-12-29 2019-09-30 视频处理方法和设备

Country Status (6)

Country Link
US (2) US11936847B2 (zh)
EP (2) EP3905684A4 (zh)
JP (4) JP7343097B2 (zh)
KR (2) KR20210094082A (zh)
CN (4) CN113905239A (zh)
WO (3) WO2020133518A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133518A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
EP3963890A4 (en) 2019-06-04 2022-11-02 Beijing Bytedance Network Technology Co., Ltd. BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION
CN113994699B (zh) 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
EP3984215A4 (en) 2019-07-14 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. TRANSFORM BLOCK SIZE RESTRICTION IN VIDEO CODING
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
WO2023287418A1 (en) * 2021-07-15 2023-01-19 Google Llc Reference motion vector candidate bank

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130170549A1 (en) * 2011-12-28 2013-07-04 Microsoft Corporation Merge mode for motion information prediction
CN103636218A (zh) * 2011-06-30 2014-03-12 Jvc建伍株式会社 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
CN103535039B (zh) * 2011-06-30 2018-08-28 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置以及图像编解码装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536310B2 (ja) * 2002-01-11 2010-09-01 ソニー株式会社 動きベクトル検出装置および動き補償予測符号化装置
US9401178B2 (en) 2010-08-26 2016-07-26 Blast Motion Inc. Event analysis system
US9049455B2 (en) * 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
US9247249B2 (en) * 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
US9426494B2 (en) * 2011-07-18 2016-08-23 Ziilabs Inc., Ltd. Systems and methods with early variance measure used to optimize video encoding
CN103931196B (zh) * 2011-09-09 2017-05-17 Lg电子株式会社 帧间预测方法及其装置
BR112014010966A2 (pt) * 2011-11-08 2017-06-06 Samsung Electronics Co Ltd método para determinar vetor de movimento para previsão inter, aparelho determinador de vetor de movimento para previsão inter, e mídia de gravação legível por computador
US20130272412A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Common motion information candidate list construction process
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
CN117956141A (zh) * 2013-04-08 2024-04-30 Ge视频压缩有限责任公司 多视图解码器
KR102551609B1 (ko) * 2014-11-27 2023-07-05 주식회사 케이티 비디오 신호 처리 방법 및 장치
RU2696551C1 (ru) * 2016-03-15 2019-08-02 МедиаТек Инк. Способ и устройство для кодирования видео с компенсацией аффинного движения
EP3791587A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Resetting of look up table per slice/tile/lcu row
US10491902B1 (en) 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US10440378B1 (en) * 2018-07-17 2019-10-08 Tencent America LLC Method and apparatus for history-based motion vector prediction with parallel processing
EP3834422A4 (en) * 2018-08-10 2021-09-15 Huawei Technologies Co., Ltd. CODIFICATION PROCESS, DEVICE AND SYSTEM WITH MERGING MODE
US11336914B2 (en) * 2018-08-16 2022-05-17 Qualcomm Incorporated History-based candidate list with classification
WO2020058893A1 (en) * 2018-09-19 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. History based motion vector predictor for intra block copy
BR112021005175A2 (pt) 2018-09-21 2021-06-08 Guangdong Oppo Mobile Telecommunications Corp., Ltd. método de decodificação de vídeo, método de codificação de vídeo, aparelho de decodificação de vídeo e aparelho de codificação de vídeo
US11070796B2 (en) 2018-09-28 2021-07-20 Qualcomm Incorporated Ultimate motion vector expression based pruning for video coding
US20200112715A1 (en) 2018-10-05 2020-04-09 Qualcomm Incorporated History-based motion vector prediction for inter prediction coding
CN112840653B (zh) * 2018-10-06 2023-12-26 寰发股份有限公司 视频编解码中共享合并候选列表区域的方法和装置
EP3854101A4 (en) 2018-12-05 2021-09-22 Huawei Technologies Co., Ltd. CODING METHOD, DEVICE, SYSTEM WITH MERGE MODE
CN118042117A (zh) 2018-12-07 2024-05-14 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和计算机可读取介质
US11470340B2 (en) 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
WO2020133518A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
US11032560B2 (en) 2019-01-17 2021-06-08 Tencent America LLC Method and apparatus for video coding without updating the HMVP table

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636218A (zh) * 2011-06-30 2014-03-12 Jvc建伍株式会社 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
CN103535039B (zh) * 2011-06-30 2018-08-28 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置以及图像编解码装置
US20130170549A1 (en) * 2011-12-28 2013-07-04 Microsoft Corporation Merge mode for motion information prediction

Also Published As

Publication number Publication date
EP3905693A4 (en) 2022-03-02
CN113905239A (zh) 2022-01-07
US20210329227A1 (en) 2021-10-21
US11936847B2 (en) 2024-03-19
EP3905684A4 (en) 2022-08-31
JP2022515036A (ja) 2022-02-17
JP7415065B2 (ja) 2024-01-16
US11997254B2 (en) 2024-05-28
CN111213381B (zh) 2021-11-12
JP7239702B2 (ja) 2023-03-14
KR20210094082A (ko) 2021-07-28
CN111213381A (zh) 2020-05-29
EP3905684A1 (en) 2021-11-03
EP3905693A1 (en) 2021-11-03
JP7343097B2 (ja) 2023-09-12
WO2020134304A1 (zh) 2020-07-02
CN113992910A (zh) 2022-01-28
JP2023156473A (ja) 2023-10-24
CN111567046A (zh) 2020-08-21
KR20210094064A (ko) 2021-07-28
JP2023065555A (ja) 2023-05-12
US20210329288A1 (en) 2021-10-21
CN111567046B (zh) 2023-04-14
JP2022513811A (ja) 2022-02-09
WO2020133717A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
WO2020133518A1 (zh) 视频处理方法和设备
KR102130821B1 (ko) 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP7225381B2 (ja) インター予測に基づいて、ビデオ信号を処理するための方法及び装置
WO2019192152A1 (zh) 获取视频图像运动矢量的方法与装置
WO2020140331A1 (zh) 视频图像处理方法与装置
KR20170125086A (ko) 화상 예측 방법 및 관련 장치
JP6574976B2 (ja) 動画像符号化装置および動画像符号化方法
JP5216710B2 (ja) 復号化処理方法
JP2022515807A (ja) ビデオ処理方法および装置
US20210258601A1 (en) Image encoding/decoding method and apparatus
JP2023508895A (ja) 仮想境界及びラップアラウンド動き補償をシグナリングするための方法
WO2020006690A1 (zh) 视频处理方法和设备
WO2021056212A1 (zh) 视频编解码方法和装置
WO2019191889A1 (zh) 用于视频处理的方法和设备
CN111279693B (zh) 视频处理方法和设备
CN111357288B (zh) 视频图像处理方法与装置
TW202145783A (zh) 幀間預測方法、編碼器、解碼器以及電腦儲存媒介
GB2585022A (en) Video coding and decoding

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: 18944635

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021531890

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217020756

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2018944635

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2018944635

Country of ref document: EP

Effective date: 20210729