WO2020058257A1 - Intra block carrying inter information - Google Patents

Intra block carrying inter information Download PDF

Info

Publication number
WO2020058257A1
WO2020058257A1 PCT/EP2019/074841 EP2019074841W WO2020058257A1 WO 2020058257 A1 WO2020058257 A1 WO 2020058257A1 EP 2019074841 W EP2019074841 W EP 2019074841W WO 2020058257 A1 WO2020058257 A1 WO 2020058257A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
sub
inter prediction
prediction information
region
Prior art date
Application number
PCT/EP2019/074841
Other languages
French (fr)
Inventor
Ruoyang YU
Rickard Sjöberg
Jacob STRÖM
Per Wennersten
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of WO2020058257A1 publication Critical patent/WO2020058257A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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

Definitions

  • a video sequence consists of a series of pictures.
  • pictures are split into small blocks as base units for prediction and residual coding.
  • VVC Versatile Video Coding
  • VTM Test Model
  • the blocks can be square or rectangular and have size of 4x4 up to 128x128.
  • Intra prediction also known as spatial prediction, predicts a block using the previous decoded blocks within a same picture.
  • a picture consisting of only intra-predicted blocks is referred to as an intra picture
  • Inter prediction also known as temporal prediction, predicts blocks of the current picture using blocks from previously decoded pictures.
  • inter picture A picture that allows an inter-predicted block is referred to as an inter picture.
  • the previously decoded pictures used for inter prediction are referred to as reference pictures.
  • MV motion vector
  • Each MV consists of x and y components which represents the displacements between current block and the referenced block in x or y dimension.
  • the value of a component may have a resolution finer than an integer position.
  • a filtering typically interpolation
  • FIG. 1 shows an example of a MV for the current block C.
  • An inter picture may use several reference pictures. In some instances, the reference pictures are put into two reference picture lists, L0 and LI. The reference pictures that are displayed before the current picture are typically the first pictures in LO. The reference pictures that are displayed after the current picture are typically the first pictures in LI.
  • Inter predicted blocks can use one of two prediction types: (1) uni-prediction and (2) bi-prediction.
  • Uni-predicted block predicts from one reference picture, either using L0 or LI.
  • Bi-prediction predicts from two reference pictures, one from L0 and the other from LI.
  • FIG. 2 shows an example of the prediction types.
  • the inter prediction information for an inter block inside an inter picture consists of the following three elements in VTM:
  • a reference picture list flag (RefPicListFlag).
  • the flag signals which reference picture list is used. For example, when the value of the flag equals to 0, it means L0 is used. When the value of the flag equals to 1, it means Ll is used. When the value of the flag equals to 2, it means both L0 and Ll are used.
  • the index signals which reference picture inside the reference list to be used.
  • the MV signals the position inside the reference picture that is used for predicting the current block.
  • the inter prediction information is also referred to as motion information.
  • the motion information is stored using a smallest block grid in the picture.
  • FIG. 3 shows an example of an 8x8 block 300 which contains four 4x4 sub-blocks 302a-d. Each sub-block stores a copy of the 8x8 block’s 300 motion information (Mi).
  • the signaling of motion information is done using a method called merge.
  • merge method first generates a list of motion candidates from some predefined neighboring sub-block positions, and then inherits motion information from one of the candidates.
  • FIG. 4 shows the spatial neighboring positions: left (L), top(T), top-right(TR), left-bottom (LB) and top-left (TL).
  • a method for motion prediction includes deriving at least a first set of inter prediction information for an intra block.
  • the method also includes storing the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and utilizing the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
  • the inter prediction information contains a reference picture list flag, a reference picture index, and/or a motion vector.
  • both the derivation and the storage process rely only on the size (width/height) information of the intra block and the intra block’s neighboring blocks’ motion information.
  • the derivation and storage processes are independent from the
  • the derivation process and the storage process may be implemented in parallel to the encoding or decoding process of an intra block in order to reduce latency impact.
  • the step of storing the derived first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block intra block.
  • the step of deriving the first set of inter prediction information for the intra block comprises defining a first region adjacent to a first boundary of the intra block; and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block.
  • the step of deriving the first set of inter prediction information for the intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks.
  • FIG. 1 shows an example of a motion vector according to one embodiment.
  • FIG. 2 shows an example of prediction types.
  • FIG. 3 shows an example of a block with sub-blocks according to one embodiment.
  • FIG. 4 shows spatial neighboring positions according to one embodiment.
  • FIG. 5 shows an example of an inter block with neighboring intra blocks.
  • FIG. 6 shows an intra block and neighboring regions according to one embodiment.
  • FIG. 7 shows an example of sub-block positions according to one embodiment.
  • FIG. 8 shows motion information storage inside an intra block according to one embodiment.
  • FIG. 9 shows motion information storage inside an intra block according to one embodiment.
  • FIG. 10 shows an example of sub-blocks in a top region of an intra block according to one embodiment.
  • FIG. 11 shows an example of sub-blocks in a left region of an intra block according to one embodiment.
  • FIG. 12 shows an example of sub-blocks in a top region of an intra block according to one embodiment.
  • FIG. 13 shows an example of inner sub-blocks of an intra block carrying motion information according to one embodiment.
  • FIG. 14 shows an example of inner sub-blocks of an intra block carrying motion information according to one embodiment.
  • FIG. 15 shows an example of motion information storage according to one embodiment.
  • FIG. 16 shows an example of sub-blocks in an intra block according to one embodiment.
  • FIG. 17 is a flow chart illustrating a process according to one embodiment.
  • FIG. 18 is a diagram showing functional units of a node according to one embodiment.
  • FIG. 19 is a block diagram of a node according to one embodiment.
  • FIG. 5 shows an extreme example where a current block only has intra coded neighbors. In such instances, the current block cannot inherit motion information from any of the five positions, e.g. TR, T, TL, L, and LB, because intra blocks do not contain any motion information.
  • the method includes a first step in which at least two sets of inter prediction information for an intra block are derived (hereinafter referred to as the derivation process or Step I), a second step in which the derived inter prediction information from the first step is stored in the intra block (hereinafter referred to as the prediction process or Step II).
  • the prediction process or Step II Each set of derived inter predicted information is associated and/or stored with at least one sub-block of the intra block.
  • the inter prediction information associated and/or stored with a sub-block of the intra block is used for motion prediction of a future inter block.
  • inter prediction information is also referred to as motion information.
  • inter prediction information contains a reference picture list flag, a reference picture index, and a motion vector or any combination of these three elements.
  • the methods disclosed herein may be implemented by an encoder and a decoder.
  • a decoder may implement the methods disclosed herein in the following steps:
  • the decoder decodes an inter block (A) in a picture (P) from a video bitstream, wherein the inter block A uses motion information M for predicting at least some sample values of the inter block A.
  • the decoder decodes an intra block (B) in the picture P from the video bitstream, wherein the inter block A and the intra block B are spatially neighboring blocks, and only intra prediction is used to predict the sample values of intra block B.
  • the decoder assigns and stores motion information M for at least one sub-block (S) of intra block B such that the motion information M is associated with S.
  • the decoder decodes an inter block (C) in P from the bitstream where the intra block B and inter block C are spatially neighboring blocks, wherein motion information M is retrieved from sub-block S of the intra block B and used for predicting the sample values of inter block C.
  • an encoder may implement the methods disclosed herein in the following steps:
  • the encoder encodes an inter block (A) in a picture (P) wherein the inter block A uses motion information M for predicting at least some sample values of inter block A.
  • the encoder encodes an intra block (B) in P where inter block A and intra block B are spatially neighboring blocks wherein only intra prediction is used to predict the sample values of intra block B.
  • the encoder assigns and stores motion information M for at least one sub-block (S) of intra block B such that the motion information M is associated with the sub-block S.
  • the encoder encodes an inter block (C) in P where the intra block B and inter block C are spatially neighboring blocks, wherein motion information M is retrieved from sub-block S of intra block B and used for predicting the sample values of inter block C.
  • inter block C depends on intra block B and intra block B depends on inter block A, so the order of processing the blocks may be A, B, and C.
  • this may also be referred to as the encoding and/or decoding order of the blocks, which may be A, B, and C.
  • two regions are defined for an intra block 602, a top region and a left region, in the derivation process (Step I).
  • the top region is the neighboring area above the current intra block 602
  • the left region is the neighboring area to the left of the current intra block 602.
  • a set of sub-block positions are defined.
  • the sub-blocks may correspond to one or several neighboring blocks.
  • the sub-blocks defined for the top region are the sub-blocks adjacent to the intra block’s top boundary.
  • the sub-blocks defined for the left region are the sub-blocks adjacent to the intra block’s left boundary, as shown in FIG. 7.
  • Ao, Ai, and AN are the sub-block positions for the left region.
  • Bo, Bi, and BN are the sub-block positions for the top region.
  • At least one motion information is derived from the defined sub-blocks positions.
  • the derived motion information is selected to represent the region’s motion information.
  • the storage process starts.
  • the selected motion information is stored within the current intra block.
  • the motion information from the top region is stored in the inner-lower portion 802 of the current intra block or sub- blocks adjacent to the bottom boundary.
  • the motion information from the left region is stored in the inner-right portion 804 of the current intra block or sub-blocks adjacent to the right boundary.
  • FIG. 8 illustrates how the motion information is stored inside the intra block according to one embodiment.
  • FIG. 9 shows an example of motion information storage for a 16x16 intra block.
  • the 3 inner sub-blocks adjacent to the right boundary stores motion information from left region, i.e. Mi_L.
  • the 4 inner sub-blocks to the bottom boundary stores motion information from the top region, i.e. Mi_T.
  • a motion information candidate list is established for each region by scanning the defined sub-blocks’ positions in a specific order.
  • the candidate list is first empty, and then a scan is performed, after which motion information is added to the candidate list.
  • unique motion information indicates that there is no identical motion information already contained in the candidate list.
  • each candidate has a priority value.
  • the candidate with the largest priority value is selected to represent the region’s motion information.
  • the priority value can be a block size or it can be an occurrence count of the motion information.
  • An alternative, and possibly simpler approach, may be to select the first motion information candidate from the list.
  • the storage process (step II) starts.
  • the selected motion information is stored within the current intra block.
  • the motion information from the top region is stored in the inner- lower parts or sub-blocks adjacent to the bottom boundary.
  • the motion information from the left region is stored in the inner-right parts or sub blocks adjacent to the right boundary.
  • FIG. 10 shows four sub-blocks Bo, Bi, B 2 and B 3 of the top region and Table 1 below lists the motion information that each sub-block contains.
  • the final candidate list is shown as Table 2.
  • the initial candidate list is empty, the first encountered sub-block is Bi and contains a unique motion information.
  • the Bi's motion information is added to the list as the first candidate.
  • the scanning of B2 and B3 follows, but both contains motion information which are identical to the second candidate.
  • the second motion information in the list has the largest priority value and is selected to represent the top region.
  • a third embodiment is similar to that described above in the first embodiment, but, in the derivation process (step I), consecutive neighboring sub-blocks positions are defined for each region:
  • the defined sub-blocks follow each other in a vertical direction.
  • the vertically defined sub-blocks essentially cover the entire area adjacent to the left boundary of the current intra block. In other words, the position of the sub-blocks starts from the bottom boundary and ends at the top boundary of the current block.
  • FIG. 11 shows an example of an 8x8 block, and the defined sub-blocks are Ao, Ai, A 2, and A3. As shown in FIG. 11, the sub-blocks Ao, Ai, A2, and A 3 are vertically consecutive and cover the entire area adjacent to the left boundary of the current intra block.
  • the defined sub-blocks follow each other in a horizontal direction.
  • the horizontally defined sub-blocks essentially cover the entire area adjacent to the top boundary of the current intra block.
  • the position of the sub-blocks starts from the right boundary and ends at the left boundary of the current intra block.
  • FIG. 12 shows an example of an 8x8 block, and the defined sub-blocks are Bo, Bi, B2, and B3.
  • the sub-blocks Bo, Bi, B2, and B3 are horizontally consecutive and cover the entire area adjacent to the top boundary of the current intra block.
  • step II With respect to the storage process (step II): [0082]
  • the motion information contained in the sub-blocks Ao, Ai, A 2 , and A3 from the left region are directly copied to inner sub-blocks that are adjacent to the current intra block’s right boundary.
  • the inner sub-blocks Ao, Ai, A2, and A 3 adjacent to the right boundary stores the motion information from the sub-block in the same sub-block row, as shown in FIG. 13.
  • the motion information contained in the sub-blocks Bo, Bi, B2, and B3 from the top region are directly copied to the inner sub-blocks that are adjacent to the current intra block’s bottom boundary.
  • the sub-blocks Bo, Bi, B2, and B3 adjacent to the bottom boundary stores the motion information from the sub-block at the same sub-block column, as shown in FIG. 14.
  • the current intra block serves as a relay of its neighboring motion information.
  • the current intra block relays the motion information from its left boundary to its inner right boundary and relays the motion
  • FIG. 15 illustrates the final storage in the current intra block according to one embodiment.
  • Table 3 below shows the objective performance from the implementation of the third embodiment.
  • the test was carried out on top of the VVC test model VTM-2.0.1. It shows that on average, 0.24% bits can be saved.
  • the numbers in the table shows the relative bit-cost for a codec under test to achieve equivalent video quality as a reference codec.
  • the reference codec used here is VTM-2.0.1 as is and the codec under test is VTM-2.0.1 modified according to the teachings described herein. Setting the bitrate of VTM-2.0.1 to 100.0%, the bitrate to achieve equivalent video quality using the new method is 99.76% on average, hence the -0.24% in the table.
  • a fourth embodiment is similar to that described in the third embodiment, but during copying of motion information the order is reversed.
  • the bottom row of the sub-blocks would be positioned Bo Bi ... BN (from left to right) and in FIG. 13, the right column of the sub-blocks would be positioned Ao Ai ... AN (from top to bottom).
  • a fifth embodiment is similar to that described in the third and fourth
  • step II when a sub-block inside the neighboring region belongs to an intra block, this means the sub-block contains previously derived motion information. In such instances, the motion information from the sub-block’s nearest inter sub-block is stored instead.
  • FIG. 16 shows an example, where the top region of a current intra block contains 5 sub-blocks.
  • Bi and Bo belong to inter blocks.
  • B 2 , B 3 and B 4 belong to intra blocks and contain previously derived motion information.
  • the motion information from the nearest sub-block, e.g. Bl is stored because the nearest sub- block is an inter block and motion information of the inter block is likely more trustworthy.
  • any of the embodiments disclosed herein may be enabled when the current intra block has size larger than a certain threshold.
  • a certain threshold is the sub-block size, e.g. 4x4.
  • FIG. 17 is a flow chart illustrating a process 1700 for motion prediction according to some embodiments.
  • Process 1700 may begin with step s 1702 in which at least a first of inter prediction information for an intra block is derived.
  • step sl704 the derived first set of inter prediction information is stored in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block.
  • step sl706 the first set of inter prediction information associated with the first sub-block of the intra block is utilized for motion prediction of a future inter block.
  • the step of storing the derived first of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block intra block.
  • the step of deriving the first set of inter prediction information for an intra block comprises defining a first region adjacent to a first boundary of the intra block and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block.
  • the step of deriving the first set of inter prediction information for an intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks.
  • the first set of inter prediction information comprises: a reference picture list flag, a reference picture index, and/or a motion vector.
  • the information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block.
  • deriving the first set of inter prediction information for an intra block comprises: defining a first region located outside of the intra block and located adjacent to a first boundary of the intra block; and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block.
  • deriving the first set of inter prediction information for the intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks in the first region.
  • the first set of inter prediction information comprises a reference picture list flag, a reference picture index, and/or a motion vector.
  • the method further comprises establishing for a first region a first group of candidate inter prediction information sets, wherein the first region is located outside of the intra block and is further located adjacent to a first boundary of the intra block.
  • the first group of candidate inter prediction information sets comprises the first set of inter prediction information and a second set of inter prediction information.
  • the first set of inter prediction information is assigned a first priority value
  • the second set of inter prediction information is assigned a second priority value.
  • Deriving the first set of inter prediction information for the intra block comprises selecting, based on the priority values assigned to the inter prediction information sets included in the first group of candidate inter prediction information sets, an inter prediction information set from the first group of candidate inter prediction information sets, and the first set of inter prediction information is the selected set of inter prediction information.
  • the first region comprises a first set of sub-blocks
  • the first set of sub-blocks in the first region comprises at least a first sub-block and a second sub- block
  • the first sub-block of the first region comprises the first set of inter prediction information
  • the second sub-block of the first region comprises the second set of inter prediction information
  • establishing for the first region the first group of candidate inter prediction information sets comprises: adding the first set of inter prediction information to the first group of candidate inter prediction information sets; prior to adding the second set of inter prediction information to the first group of candidate inter prediction information sets, determining that the second set of inter prediction information is not identical to the first set of inter prediction information; and as a result of determining that the second set of inter prediction information is not identical to the first set of inter prediction information, adding the second set of inter prediction information to the first group of candidate inter prediction information sets.
  • a first set of sub-blocks are located in a first region that is located outside of the intra block and that is further located adjacent to a first boundary of the intra block, the first set of sub-blocks in the first region include a first sub-block and a second sub-block, the first sub-block in the first region contains the first set of inter prediction information, the second sub-block in the first region contains a second set of inter prediction information, the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block, and the method further comprises storing the second set of inter prediction information in a second sub-block of the intra block.
  • the first set of sub-blocks in the first region are consecutive neighboring sub-blocks.
  • the first set of sub-blocks in the first region are adjacent to the intra block’s top boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s bottom boundary, or the first set of sub-blocks in the first region are adjacent to the intra block’s left boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s right boundary.
  • the first sub-block of the first region is located in a first row of sub-blocks and the first sub-block of the intra block is also located in the first row of sub-blocks
  • the second sub-block of the first region is located in a second row of sub- blocks and the second sub-block of the intra block is also located in the second row of sub- blocks.
  • the first sub-block of the first region is located in a first column of sub-blocks and the first sub-block of the intra block is also located in the first column of sub-blocks
  • the second sub-block of the first region is located in a second column of sub-blocks and the second sub-block of the intra block is also located in the second column of sub-blocks.
  • the first sub-block of the first region is located in a first row of sub-blocks
  • the second sub-block of the intra block is also located in the first row of sub-blocks
  • the second sub-block of the first region is located in a second row of sub-blocks
  • the first sub-block of the intra block is also located in the second row of sub-blocks.
  • the first sub-block of the first region is located in a first column of sub-blocks
  • the second sub-block of the intra block is also located in the first column of sub-blocks
  • the second sub-block of the first region is located in a second column of sub-blocks
  • the first sub-block of the intra block is also located in the second column of sub-blocks.
  • a first set of sub-blocks are located in a first region that is located outside of the intra block and that is further located adjacent to a first boundary of the intra block
  • the first set of sub-blocks in the first region include a first sub-block in the first region and a second sub-block in the first region
  • the second sub-block in the first region neighbors the first sub-block in the first region
  • the first sub-block in the first region contains the first set of inter prediction information
  • the second sub-block in the first region contains a second set of inter prediction information that is not identical to the first set of inter prediction information
  • the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block
  • the method may further include: determining that the second sub- block in the first region belongs to an intra block and storing the first set of inter prediction information in a second sub-block of the intra block as a result of determining that the second sub-block in the first region
  • the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in a first region within the intra block, and the method further comprises: deriving a second set of inter prediction information for the intra block and storing the second set of inter prediction information in a second region within the intra block.
  • both the first and second set of inter prediction information are utilized for motion prediction of the future inter block.
  • deriving the second set of inter prediction information for the intra block comprises obtaining the second set of inter prediction information from a sub-block within a second region that is adjacent to a second boundary of the intra block, wherein the first boundary is perpendicular to the second boundary.
  • FIG. 18 is a diagram showing functional units of node 1802 (e.g., an
  • Node 1802 includes a deriving unit 1804 for deriving at least a first set of inter prediction information for an intra block; a storing unit 1806 for storing the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub- block of the intra block; and a utilizing unit 1808 for utilizing the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
  • FIG. 19 is a block diagram of a node 1802 (e.g., an encoder/decoder) for motion prediction, according to one embodiment.
  • node 1802 may comprise: processing circuitry (PC) 1902, which may include one or more processors (P) 1955 (e.g., a general purpose microprocessor and/or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like); a network interface 1948 comprising a transmitter (Tx) 1945 and a receiver (Rx) 1947 for enabling node 1802 to transmit data to and receive data from other nodes connected to a network 1910 (e.g., an Internet Protocol (IP) network) to which network interface 1948 is connected; and a local storage unit (a.k.a.,“data storage system”) 1908, which may include one or more non volatile storage devices and/or one or more volatile storage devices.
  • PC processing circuitry
  • P processors
  • ASIC application specific integrated circuit
  • Rx receiver
  • CPP 1941 includes a computer readable medium (CRM) 1942 storing a computer program (CP) 1943 comprising computer readable instructions (CRI) 1944.
  • CRM 1942 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like.
  • the CRI 1944 of computer program 1943 is configured such that when executed by PC 1902, the CRI causes node 1802 to perform steps and the embodiments described herein (e.g., steps described herein with reference to the flow charts).
  • node 1802 may be configured to perform steps described herein without the need for code. That is, for example, PC 1902 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
  • a method for motion prediction comprising: deriving at least a first and second set of inter prediction information for an intra block; storing the derived first and second set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block and the second set of inter prediction information is associated with a second sub-block of the intra block; and utilizing the first set of inter prediction information associated with the first sub-block of the intra block and the second set of inter prediction information associated with the second sub- block of the intra block for motion prediction of a future inter block.
  • storing the derived first and second set of inter prediction information in the intra block comprises: storing the first set of inter prediction information in the first sub-block intra block; and storing the second set of inter prediction information in the second sub-block intra block.
  • deriving at least a first and second set of inter prediction information for an intra block comprises: defining a first region adjacent to a first boundary of the intra block; defining a second region adjacent to a second boundary of the intra block; defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block; and defining a second set of sub-blocks in the second region and adjacent to the second boundary of the intra block.
  • deriving at least a first and second set of inter prediction information for an intra block comprises: deriving the first set of inter prediction information based on the determined first set of sub-blocks; and deriving the second set of inter prediction information based on the determined second set of sub-blocks.
  • each of the first and second set of inter prediction information comprises: a reference picture list flag, a reference picture index, and a motion vector.
  • a node e.g., an encoder/decoder for motion prediction, the node configured to: derive at least a first and second set of inter prediction information for an intra block; store the derived first and second set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block and the second set of inter prediction information is associated with a second sub-block of the intra block; and utilize the first set of inter prediction information associated with the first sub-block of the intra block and the second set of inter prediction information associated with the second sub-block of the intra block for motion prediction of a future inter block.
  • storing the derived first and second set of inter prediction information in the intra block comprises: storing the first set of inter prediction information in the first sub-block intra block; and storing the second set of inter prediction information in the second sub-block intra block.
  • deriving at least a first and second set of inter prediction information for an intra block comprises: defining a first region adjacent to a first boundary of the intra block; defining a second region adjacent to a second boundary of the intra block; defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block; and defining a second set of sub-blocks in the second region and adjacent to the second boundary of the intra block.
  • deriving at least a first and second set of inter prediction information for an intra block comprises: deriving the first set of inter prediction information based on the determined first set of sub-blocks; and deriving the second set of inter prediction information based on the determined second set of sub-blocks.
  • each of the first and second set of inter prediction information comprises: a reference picture list flag, a reference picture index, and a motion vector.
  • a computer program comprising instructions which when executed by processing circuity of a node causes the node to perform the method of any one of embodiments A1-A5.

Landscapes

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

Abstract

A method for motion prediction. The method includes deriving at least a first set of inter prediction information for an intra block. The method also includes storing the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and utilizing the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.

Description

INTRA BLOCK CARRYING INTER INFORMATION
TECHNICAL FIELD
[001] Disclosed are embodiments related to motion prediction.
BACKGROUND
[002] Picture and Block
[003] A video sequence consists of a series of pictures. In video coding, pictures are split into small blocks as base units for prediction and residual coding. In the current Versatile Video Coding (VVC) Test Model (VTM), the blocks can be square or rectangular and have size of 4x4 up to 128x128.
[004] Intra prediction
[005] Intra prediction, also known as spatial prediction, predicts a block using the previous decoded blocks within a same picture.
[006] A picture consisting of only intra-predicted blocks is referred to as an intra picture
[007] Inter prediction
[008] Inter prediction, also known as temporal prediction, predicts blocks of the current picture using blocks from previously decoded pictures.
[009] A picture that allows an inter-predicted block is referred to as an inter picture. The previously decoded pictures used for inter prediction are referred to as reference pictures.
[0010] The location of a referenced block inside the reference picture is indicated using a motion vector (MV). Each MV consists of x and y components which represents the displacements between current block and the referenced block in x or y dimension. The value of a component may have a resolution finer than an integer position. When that is the case, a filtering (typically interpolation) is performed to calculate values used for prediction. FIG. 1 shows an example of a MV for the current block C. [0011] An inter picture may use several reference pictures. In some instances, the reference pictures are put into two reference picture lists, L0 and LI. The reference pictures that are displayed before the current picture are typically the first pictures in LO. The reference pictures that are displayed after the current picture are typically the first pictures in LI.
[0012] Inter predicted blocks can use one of two prediction types: (1) uni-prediction and (2) bi-prediction. Uni-predicted block predicts from one reference picture, either using L0 or LI. Bi-prediction predicts from two reference pictures, one from L0 and the other from LI. FIG. 2 shows an example of the prediction types.
[0013] The inter prediction information for an inter block inside an inter picture consists of the following three elements in VTM:
[0014] (1) A reference picture list flag (RefPicListFlag). The flag signals which reference picture list is used. For example, when the value of the flag equals to 0, it means L0 is used. When the value of the flag equals to 1, it means Ll is used. When the value of the flag equals to 2, it means both L0 and Ll are used.
[0015] (2) A reference picture index (RefPicIdx) per reference picture list used. The index signals which reference picture inside the reference list to be used.
[0016] (3) A motion vector (MV) per reference picture used. The MV signals the position inside the reference picture that is used for predicting the current block.
[0017] In the context of the current disclosure, the inter prediction information is also referred to as motion information.
[0018] The motion information is stored using a smallest block grid in the picture.
Currently in VTM, the smallest block size is 4x4. The smallest block is also referred to as a sub-block. FIG. 3 shows an example of an 8x8 block 300 which contains four 4x4 sub-blocks 302a-d. Each sub-block stores a copy of the 8x8 block’s 300 motion information (Mi).
[0019] The signaling of motion information is done using a method called merge. The merge method first generates a list of motion candidates from some predefined neighboring sub-block positions, and then inherits motion information from one of the candidates. FIG. 4 shows the spatial neighboring positions: left (L), top(T), top-right(TR), left-bottom (LB) and top-left (TL).
SUMMARY
[0020] In an aspect, there is provided a method for motion prediction. The method includes deriving at least a first set of inter prediction information for an intra block. The method also includes storing the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and utilizing the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
[0021] In some embodiments, the inter prediction information contains a reference picture list flag, a reference picture index, and/or a motion vector.
[0022] In some embodiments, both the derivation and the storage process rely only on the size (width/height) information of the intra block and the intra block’s neighboring blocks’ motion information. The derivation and storage processes are independent from the
reconstruction of the sample values of the intra block. In a real implementation, the derivation process and the storage process may be implemented in parallel to the encoding or decoding process of an intra block in order to reduce latency impact.
[0023] In some embodiments, the step of storing the derived first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block intra block.
[0024] In some embodiments, the step of deriving the first set of inter prediction information for the intra block comprises defining a first region adjacent to a first boundary of the intra block; and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block. [0025] In some embodiments, the step of deriving the first set of inter prediction information for the intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks. [0026] One of the main advantages of the embodiments disclosed herein is the improved compression efficiency by saving bits from signaling the motion information.
BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0028] FIG. 1 shows an example of a motion vector according to one embodiment.
[0029] FIG. 2 shows an example of prediction types.
[0030] FIG. 3 shows an example of a block with sub-blocks according to one embodiment.
[0031] FIG. 4 shows spatial neighboring positions according to one embodiment.
[0032] FIG. 5 shows an example of an inter block with neighboring intra blocks.
[0033] FIG. 6 shows an intra block and neighboring regions according to one embodiment.
[0034] FIG. 7 shows an example of sub-block positions according to one embodiment.
[0035] FIG. 8 shows motion information storage inside an intra block according to one embodiment.
[0036] FIG. 9 shows motion information storage inside an intra block according to one embodiment.
[0037] FIG. 10 shows an example of sub-blocks in a top region of an intra block according to one embodiment.
[0038] FIG. 11 shows an example of sub-blocks in a left region of an intra block according to one embodiment.
[0039] FIG. 12 shows an example of sub-blocks in a top region of an intra block according to one embodiment.
[0040] FIG. 13 shows an example of inner sub-blocks of an intra block carrying motion information according to one embodiment. [0041] FIG. 14 shows an example of inner sub-blocks of an intra block carrying motion information according to one embodiment.
[0042] FIG. 15 shows an example of motion information storage according to one embodiment.
[0043] FIG. 16 shows an example of sub-blocks in an intra block according to one embodiment.
[0044] FIG. 17 is a flow chart illustrating a process according to one embodiment.
[0045] FIG. 18 is a diagram showing functional units of a node according to one embodiment.
[0046] FIG. 19 is a block diagram of a node according to one embodiment.
DETAILED DESCRIPTION
[0047] Conventional motion prediction methods rely on the availability of neighboring motion information. There is, however, one drawback. FIG. 5 shows an extreme example where a current block only has intra coded neighbors. In such instances, the current block cannot inherit motion information from any of the five positions, e.g. TR, T, TL, L, and LB, because intra blocks do not contain any motion information.
[0048] In an aspect, there is provided a method to overcome the aforementioned problems, among others, encountered by conventional motion prediction methods. The method includes a first step in which at least two sets of inter prediction information for an intra block are derived (hereinafter referred to as the derivation process or Step I), a second step in which the derived inter prediction information from the first step is stored in the intra block (hereinafter referred to as the prediction process or Step II). Each set of derived inter predicted information is associated and/or stored with at least one sub-block of the intra block. In a third step, the inter prediction information associated and/or stored with a sub-block of the intra block is used for motion prediction of a future inter block.
[0049] In the context of the current disclosure, the inter prediction information is also referred to as motion information. In some embodiments, inter prediction information contains a reference picture list flag, a reference picture index, and a motion vector or any combination of these three elements.
[0050] In some embodiments, the methods disclosed herein may be implemented by an encoder and a decoder.
[0051] In an embodiment, a decoder may implement the methods disclosed herein in the following steps:
[0052] In a first step, the decoder decodes an inter block (A) in a picture (P) from a video bitstream, wherein the inter block A uses motion information M for predicting at least some sample values of the inter block A.
[0053] In a second step, the decoder decodes an intra block (B) in the picture P from the video bitstream, wherein the inter block A and the intra block B are spatially neighboring blocks, and only intra prediction is used to predict the sample values of intra block B.
[0054] In a third step, the decoder assigns and stores motion information M for at least one sub-block (S) of intra block B such that the motion information M is associated with S.
[0055] In a fourth step, the decoder decodes an inter block (C) in P from the bitstream where the intra block B and inter block C are spatially neighboring blocks, wherein motion information M is retrieved from sub-block S of the intra block B and used for predicting the sample values of inter block C.
[0056] In an embodiment, an encoder may implement the methods disclosed herein in the following steps:
[0057] In a first step, the encoder encodes an inter block (A) in a picture (P) wherein the inter block A uses motion information M for predicting at least some sample values of inter block A.
[0058] In a second step, the encoder encodes an intra block (B) in P where inter block A and intra block B are spatially neighboring blocks wherein only intra prediction is used to predict the sample values of intra block B. [0059] In a third step, the encoder assigns and stores motion information M for at least one sub-block (S) of intra block B such that the motion information M is associated with the sub-block S.
[0060] In a fourth step, the encoder encodes an inter block (C) in P where the intra block B and inter block C are spatially neighboring blocks, wherein motion information M is retrieved from sub-block S of intra block B and used for predicting the sample values of inter block C.
[0061] In some embodiments, inter block C depends on intra block B and intra block B depends on inter block A, so the order of processing the blocks may be A, B, and C.
Alternatively, this may also be referred to as the encoding and/or decoding order of the blocks, which may be A, B, and C.
[0062] First Embodiment
[0063] In a first embodiment, two regions are defined for an intra block 602, a top region and a left region, in the derivation process (Step I). As shown in FIG. 6, the top region is the neighboring area above the current intra block 602, and the left region is the neighboring area to the left of the current intra block 602.
[0064] For each region, a set of sub-block positions are defined. The sub-blocks may correspond to one or several neighboring blocks. In some embodiments, the sub-blocks defined for the top region are the sub-blocks adjacent to the intra block’s top boundary. The sub-blocks defined for the left region are the sub-blocks adjacent to the intra block’s left boundary, as shown in FIG. 7. Ao, Ai, and AN are the sub-block positions for the left region. Bo, Bi, and BN are the sub-block positions for the top region.
[0065] For each region, at least one motion information is derived from the defined sub-blocks positions. The derived motion information is selected to represent the region’s motion information.
[0066] After the motion information is selected, the storage process (step II) starts. The selected motion information is stored within the current intra block. The motion information from the top region is stored in the inner-lower portion 802 of the current intra block or sub- blocks adjacent to the bottom boundary. The motion information from the left region is stored in the inner-right portion 804 of the current intra block or sub-blocks adjacent to the right boundary. Denoting the selected motion information from the top region as Mi_T, and the selected motion information from the left region as Mi_L, FIG. 8 illustrates how the motion information is stored inside the intra block according to one embodiment.
[0067] FIG. 9 shows an example of motion information storage for a 16x16 intra block.
The 3 inner sub-blocks adjacent to the right boundary stores motion information from left region, i.e. Mi_L. The 4 inner sub-blocks to the bottom boundary stores motion information from the top region, i.e. Mi_T.
[0068] Second Embodiment
[0069] As in embodiment 1 but in the derivation process (Step I), a motion information candidate list is established for each region by scanning the defined sub-blocks’ positions in a specific order. The candidate list is first empty, and then a scan is performed, after which motion information is added to the candidate list.
[0070] During the scanning, when a scanned sub-block contains a unique motion information, the unique motion information is added to the candidate list. In the context of the current disclosure, unique motion information indicates that there is no identical motion information already contained in the candidate list.
[0071] In some embodiments, each candidate has a priority value. The candidate with the largest priority value is selected to represent the region’s motion information. The priority value can be a block size or it can be an occurrence count of the motion information. An alternative, and possibly simpler approach, may be to select the first motion information candidate from the list.
[0072] After the motion information is selected, the storage process (step II) starts. The selected motion information is stored within the current intra block. The motion information from the top region is stored in the inner- lower parts or sub-blocks adjacent to the bottom boundary. The motion information from the left region is stored in the inner-right parts or sub blocks adjacent to the right boundary. [0073] FIG. 10 shows four sub-blocks Bo, Bi, B2 and B3 of the top region and Table 1 below lists the motion information that each sub-block contains.
Figure imgf000010_0001
Table 1
[0074] Assuming the scanning order is B1-B0-B2-B3 with the block size set as the priority value, the final candidate list is shown as Table 2.
[0075] The initial candidate list is empty, the first encountered sub-block is Bi and contains a unique motion information. The Bi's motion information is added to the list as the first candidate. As Bi's corresponding block size is 8x8, the candidate is assigned with a priority value of 8x8 = 64. The second encountered sub-block is Bo. Since it also contains a unique motion information, its motion information is added to the list as a second candidate with an initial priority value of 8x8= 64. The scanning of B2 and B3 follows, but both contains motion information which are identical to the second candidate. Thus, the priority value of the second candidate is incremented to a final value of 64 + 8x8 + 4x4 = 144.
[0076] In this case, the second motion information in the list has the largest priority value and is selected to represent the top region.
Figure imgf000011_0001
Table 2
[0077] Third Embodiment
[0078] A third embodiment is similar to that described above in the first embodiment, but, in the derivation process (step I), consecutive neighboring sub-blocks positions are defined for each region:
[0079] 1) For the left region, the defined sub-blocks follow each other in a vertical direction. The vertically defined sub-blocks essentially cover the entire area adjacent to the left boundary of the current intra block. In other words, the position of the sub-blocks starts from the bottom boundary and ends at the top boundary of the current block. FIG. 11 shows an example of an 8x8 block, and the defined sub-blocks are Ao, Ai, A 2, and A3. As shown in FIG. 11, the sub-blocks Ao, Ai, A2, and A3 are vertically consecutive and cover the entire area adjacent to the left boundary of the current intra block.
[0080] 2) For the top region, the defined sub-blocks follow each other in a horizontal direction. The horizontally defined sub-blocks essentially cover the entire area adjacent to the top boundary of the current intra block. In other words, the position of the sub-blocks starts from the right boundary and ends at the left boundary of the current intra block. FIG. 12 shows an example of an 8x8 block, and the defined sub-blocks are Bo, Bi, B2, and B3. As shown in FIG. 12, the sub-blocks Bo, Bi, B2, and B3 are horizontally consecutive and cover the entire area adjacent to the top boundary of the current intra block. [0081] With respect to the storage process (step II): [0082] The motion information contained in the sub-blocks Ao, Ai, A2, and A3 from the left region are directly copied to inner sub-blocks that are adjacent to the current intra block’s right boundary. In other words, the inner sub-blocks Ao, Ai, A2, and A3 adjacent to the right boundary stores the motion information from the sub-block in the same sub-block row, as shown in FIG. 13.
[0083] The motion information contained in the sub-blocks Bo, Bi, B2, and B3 from the top region are directly copied to the inner sub-blocks that are adjacent to the current intra block’s bottom boundary. In other words, the sub-blocks Bo, Bi, B2, and B3 adjacent to the bottom boundary stores the motion information from the sub-block at the same sub-block column, as shown in FIG. 14.
[0084] With the above modifications to step I and II, the current intra block serves as a relay of its neighboring motion information. The current intra block relays the motion information from its left boundary to its inner right boundary and relays the motion
information from its top boundary to its inner bottom boundary.
[0085] FIG. 15 illustrates the final storage in the current intra block according to one embodiment.
[0086] Table 3 below shows the objective performance from the implementation of the third embodiment. The test was carried out on top of the VVC test model VTM-2.0.1. It shows that on average, 0.24% bits can be saved. The numbers in the table shows the relative bit-cost for a codec under test to achieve equivalent video quality as a reference codec. The reference codec used here is VTM-2.0.1 as is and the codec under test is VTM-2.0.1 modified according to the teachings described herein. Setting the bitrate of VTM-2.0.1 to 100.0%, the bitrate to achieve equivalent video quality using the new method is 99.76% on average, hence the -0.24% in the table.
Figure imgf000012_0001
Figure imgf000013_0001
Table 3
[0087] Fourth Embodiment
[0088] A fourth embodiment is similar to that described in the third embodiment, but during copying of motion information the order is reversed. For example, in FIG. 14, the bottom row of the sub-blocks would be positioned Bo Bi ... BN (from left to right) and in FIG. 13, the right column of the sub-blocks would be positioned Ao Ai ... AN (from top to bottom).
[0089] Fifth Embodiment
[0090] A fifth embodiment is similar to that described in the third and fourth
embodiments, but changes are made to the storage process (step II). When a sub-block inside the neighboring region belongs to an intra block, this means the sub-block contains previously derived motion information. In such instances, the motion information from the sub-block’s nearest inter sub-block is stored instead.
[0091] FIG. 16 shows an example, where the top region of a current intra block contains 5 sub-blocks. Among the five sub-blocks, Bi and Bo belong to inter blocks. B2, B3 and B4 belong to intra blocks and contain previously derived motion information. In such instances, the motion information from the nearest sub-block, e.g. Bl, is stored because the nearest sub- block is an inter block and motion information of the inter block is likely more trustworthy.
[0092] Sixth Embodiment
[0093] Any of the embodiments disclosed herein may be enabled when the current intra block has size larger than a certain threshold. One example of the threshold is the sub-block size, e.g. 4x4.
[0094] Any of the embodiments disclosed herein may be enabled when the current intra block has both a width and height larger than a certain threshold. One example of the threshold is the sub-block’s width or height, e.g. 4. [0095] FIG. 17 is a flow chart illustrating a process 1700 for motion prediction according to some embodiments. Process 1700 may begin with step s 1702 in which at least a first of inter prediction information for an intra block is derived. In step sl704, the derived first set of inter prediction information is stored in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block. In step sl706, the first set of inter prediction information associated with the first sub-block of the intra block is utilized for motion prediction of a future inter block.
[0096] In some embodiments, the step of storing the derived first of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block intra block.
[0097] In some embodiments, the step of deriving the first set of inter prediction information for an intra block comprises defining a first region adjacent to a first boundary of the intra block and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block.
[0098] In some embodiments, the step of deriving the first set of inter prediction information for an intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks.
[0099] In some embodiments, the first set of inter prediction information comprises: a reference picture list flag, a reference picture index, and/or a motion vector.
[00100] In some embodiments, storing the derived first set of inter prediction
information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block.
[00101] In some embodiments, deriving the first set of inter prediction information for an intra block comprises: defining a first region located outside of the intra block and located adjacent to a first boundary of the intra block; and defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block. In some embodiments, deriving the first set of inter prediction information for the intra block comprises deriving the first set of inter prediction information based on the determined first set of sub-blocks in the first region. [00102] In some embodiments, the first set of inter prediction information comprises a reference picture list flag, a reference picture index, and/or a motion vector.
[00103] In some embodiments, the method further comprises establishing for a first region a first group of candidate inter prediction information sets, wherein the first region is located outside of the intra block and is further located adjacent to a first boundary of the intra block. The first group of candidate inter prediction information sets comprises the first set of inter prediction information and a second set of inter prediction information. The first set of inter prediction information is assigned a first priority value, and the second set of inter prediction information is assigned a second priority value. Deriving the first set of inter prediction information for the intra block comprises selecting, based on the priority values assigned to the inter prediction information sets included in the first group of candidate inter prediction information sets, an inter prediction information set from the first group of candidate inter prediction information sets, and the first set of inter prediction information is the selected set of inter prediction information.
[00104] In some embodiments, the first region comprises a first set of sub-blocks, the first set of sub-blocks in the first region comprises at least a first sub-block and a second sub- block, the first sub-block of the first region comprises the first set of inter prediction information, the second sub-block of the first region comprises the second set of inter prediction information, establishing for the first region the first group of candidate inter prediction information sets comprises: adding the first set of inter prediction information to the first group of candidate inter prediction information sets; prior to adding the second set of inter prediction information to the first group of candidate inter prediction information sets, determining that the second set of inter prediction information is not identical to the first set of inter prediction information; and as a result of determining that the second set of inter prediction information is not identical to the first set of inter prediction information, adding the second set of inter prediction information to the first group of candidate inter prediction information sets.
[00105] In some embodiments, a first set of sub-blocks are located in a first region that is located outside of the intra block and that is further located adjacent to a first boundary of the intra block, the first set of sub-blocks in the first region include a first sub-block and a second sub-block, the first sub-block in the first region contains the first set of inter prediction information, the second sub-block in the first region contains a second set of inter prediction information, the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block, and the method further comprises storing the second set of inter prediction information in a second sub-block of the intra block. In some embodiments, the first set of sub-blocks in the first region are consecutive neighboring sub-blocks.
[00106] In some embodiments, the first set of sub-blocks in the first region are adjacent to the intra block’s top boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s bottom boundary, or the first set of sub-blocks in the first region are adjacent to the intra block’s left boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s right boundary.
[00107] In some embodiments, the first sub-block of the first region is located in a first row of sub-blocks and the first sub-block of the intra block is also located in the first row of sub-blocks, and the second sub-block of the first region is located in a second row of sub- blocks and the second sub-block of the intra block is also located in the second row of sub- blocks.
[00108] In some embodiments, the first sub-block of the first region is located in a first column of sub-blocks and the first sub-block of the intra block is also located in the first column of sub-blocks, and the second sub-block of the first region is located in a second column of sub-blocks and the second sub-block of the intra block is also located in the second column of sub-blocks.
[00109] In some embodiments, the first sub-block of the first region is located in a first row of sub-blocks, the second sub-block of the intra block is also located in the first row of sub-blocks, the second sub-block of the first region is located in a second row of sub-blocks, and the first sub-block of the intra block is also located in the second row of sub-blocks.
[00110] In some embodiments, the first sub-block of the first region is located in a first column of sub-blocks, the second sub-block of the intra block is also located in the first column of sub-blocks, the second sub-block of the first region is located in a second column of sub-blocks, and the first sub-block of the intra block is also located in the second column of sub-blocks.
[00111] In some embodiments, a first set of sub-blocks are located in a first region that is located outside of the intra block and that is further located adjacent to a first boundary of the intra block, the first set of sub-blocks in the first region include a first sub-block in the first region and a second sub-block in the first region, the second sub-block in the first region neighbors the first sub-block in the first region, the first sub-block in the first region contains the first set of inter prediction information, the second sub-block in the first region contains a second set of inter prediction information that is not identical to the first set of inter prediction information, the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block, In such embodiments the method may further include: determining that the second sub- block in the first region belongs to an intra block and storing the first set of inter prediction information in a second sub-block of the intra block as a result of determining that the second sub-block in the first region belongs to a second intra block.
[00112] In some embodiments, the step of storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in a first region within the intra block, and the method further comprises: deriving a second set of inter prediction information for the intra block and storing the second set of inter prediction information in a second region within the intra block. In some embodiments, both the first and second set of inter prediction information are utilized for motion prediction of the future inter block. In some embodiments, deriving the second set of inter prediction information for the intra block comprises obtaining the second set of inter prediction information from a sub-block within a second region that is adjacent to a second boundary of the intra block, wherein the first boundary is perpendicular to the second boundary.
[00113] FIG. 18 is a diagram showing functional units of node 1802 (e.g., an
encoder/decoder) for motion prediction according to one embodiment. Node 1802 includes a deriving unit 1804 for deriving at least a first set of inter prediction information for an intra block; a storing unit 1806 for storing the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub- block of the intra block; and a utilizing unit 1808 for utilizing the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
[00114] FIG. 19 is a block diagram of a node 1802 (e.g., an encoder/decoder) for motion prediction, according to one embodiment. As shown in FIG. 19, node 1802 may comprise: processing circuitry (PC) 1902, which may include one or more processors (P) 1955 (e.g., a general purpose microprocessor and/or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), and the like); a network interface 1948 comprising a transmitter (Tx) 1945 and a receiver (Rx) 1947 for enabling node 1802 to transmit data to and receive data from other nodes connected to a network 1910 (e.g., an Internet Protocol (IP) network) to which network interface 1948 is connected; and a local storage unit (a.k.a.,“data storage system”) 1908, which may include one or more non volatile storage devices and/or one or more volatile storage devices. In embodiments where PC 1902 includes a programmable processor, a computer program product (CPP) 1941 may be provided. CPP 1941 includes a computer readable medium (CRM) 1942 storing a computer program (CP) 1943 comprising computer readable instructions (CRI) 1944. CRM 1942 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 1944 of computer program 1943 is configured such that when executed by PC 1902, the CRI causes node 1802 to perform steps and the embodiments described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, node 1802 may be configured to perform steps described herein without the need for code. That is, for example, PC 1902 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
[00115] Concise description of various embodiments
[00116] Al . A method for motion prediction, the method comprising: deriving at least a first and second set of inter prediction information for an intra block; storing the derived first and second set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block and the second set of inter prediction information is associated with a second sub-block of the intra block; and utilizing the first set of inter prediction information associated with the first sub-block of the intra block and the second set of inter prediction information associated with the second sub- block of the intra block for motion prediction of a future inter block.
[00117] A2. The method of embodiment Al, wherein storing the derived first and second set of inter prediction information in the intra block comprises: storing the first set of inter prediction information in the first sub-block intra block; and storing the second set of inter prediction information in the second sub-block intra block.
[00118] A3. The method of embodiment Al or A2, wherein deriving at least a first and second set of inter prediction information for an intra block comprises: defining a first region adjacent to a first boundary of the intra block; defining a second region adjacent to a second boundary of the intra block; defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block; and defining a second set of sub-blocks in the second region and adjacent to the second boundary of the intra block.
[00119] A4. The method of embodiment A3, wherein deriving at least a first and second set of inter prediction information for an intra block comprises: deriving the first set of inter prediction information based on the determined first set of sub-blocks; and deriving the second set of inter prediction information based on the determined second set of sub-blocks.
[00120] A5. The method of any one of embodiments A1-A4, wherein each of the first and second set of inter prediction information comprises: a reference picture list flag, a reference picture index, and a motion vector.
[00121] Bl. A node (e.g., an encoder/decoder) for motion prediction, the node configured to: derive at least a first and second set of inter prediction information for an intra block; store the derived first and second set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block and the second set of inter prediction information is associated with a second sub-block of the intra block; and utilize the first set of inter prediction information associated with the first sub-block of the intra block and the second set of inter prediction information associated with the second sub-block of the intra block for motion prediction of a future inter block. [00122] B2. The node of embodiment Bl, wherein storing the derived first and second set of inter prediction information in the intra block comprises: storing the first set of inter prediction information in the first sub-block intra block; and storing the second set of inter prediction information in the second sub-block intra block.
[00123] B3. The node of embodiment Bl or B2, wherein deriving at least a first and second set of inter prediction information for an intra block comprises: defining a first region adjacent to a first boundary of the intra block; defining a second region adjacent to a second boundary of the intra block; defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block; and defining a second set of sub-blocks in the second region and adjacent to the second boundary of the intra block.
[00124] B4. The node of embodiment B3, wherein deriving at least a first and second set of inter prediction information for an intra block comprises: deriving the first set of inter prediction information based on the determined first set of sub-blocks; and deriving the second set of inter prediction information based on the determined second set of sub-blocks.
[00125] B5. The node of any one of embodiments B1-B4, wherein each of the first and second set of inter prediction information comprises: a reference picture list flag, a reference picture index, and a motion vector.
[00126] Cl . A computer program comprising instructions which when executed by processing circuity of a node causes the node to perform the method of any one of embodiments A1-A5.
[00127] C2. A carrier containing the computer program of claim Cl, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.
[00128] While various embodiments of the present disclosure are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context. [00129] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

Claims

1. A method (1700) for motion prediction, the method comprising:
deriving (sl702) at least a first set of inter prediction information for an intra block; storing (sl704) the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and
utilizing (sl706) the first set of inter prediction information associated with the first sub- block of the intra block for motion prediction of a future inter block.
2. The method of claim 1, wherein storing the derived first set of inter prediction information in the intra block comprises:
storing the first set of inter prediction information in the first sub-block of the intra block.
3. The method of claim 1 or 2, wherein deriving the first set of inter prediction information for an intra block comprises:
defining a first region located outside of the intra block and located adjacent to a first boundary of the intra block; and
defining a first set of sub-blocks in the first region and adjacent to the first boundary of the intra block.
4. The method of claim 3, wherein deriving the first set of inter prediction information for the intra block comprises:
deriving the first set of inter prediction information based on the determined first set of sub-blocks in the first region.
5. The method of any one of claims 1-4, wherein the first set of inter prediction information comprises: a reference picture list flag, a reference picture index, and/or a motion vector.
6. The method of any one of claims 1-5, further comprising establishing for a first region a first group of candidate inter prediction information sets, wherein
the first region is located outside of the intra block and is further located adjacent to a first boundary of the intra block,
the first group of candidate inter prediction information sets comprises the first set of inter prediction information and a second set of inter prediction information,
the first set of inter prediction information is assigned a first priority value,
the second set of inter prediction information is assigned a second priority value, deriving the first set of inter prediction information for the intra block comprises selecting, based on the priority values assigned to the inter prediction information sets included in the first group of candidate inter prediction information sets, an inter prediction information set from the first group of candidate inter prediction information sets, and
the first set of inter prediction information is the selected set of inter prediction information.
7. The method of claim 6, wherein
the first region comprises a first set of sub-blocks,
the first set of sub-blocks in the first region comprises at least a first sub-block and a second sub-block,
the first sub-block of the first region comprises the first set of inter prediction information,
the second sub-block of the first region comprises the second set of inter prediction information,
establishing for the first region the first group of candidate inter prediction information sets comprises:
adding the first set of inter prediction information to the first group of candidate inter prediction information sets;
prior to adding the second set of inter prediction information to the first group of candidate inter prediction information sets, determining that the second set of inter prediction information is not identical to the first set of inter prediction information; and
as a result of determining that the second set of inter prediction information is not identical to the first set of inter prediction information, adding the second set of inter prediction information to the first group of candidate inter prediction information sets.
8. The method of any one of claims 1-5, wherein
a first set of sub-blocks are located in a first region, wherein the first region is located outside of the intra block and is located adjacent to a first boundary of the intra block,
the first set of sub-blocks in the first region include a first sub-block and a second sub- block,
the first sub-block in the first region contains the first set of inter prediction information, the second sub-block in the first region contains a second set of inter prediction information,
storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block, and
the method further comprises storing the second set of inter prediction information in a second sub-block of the intra block.
9. The method of claim 8, wherein the first set of sub-blocks in the first region are consecutive neighboring sub-blocks.
10. The method of claim 8 or 9, wherein
the first set of sub-blocks in the first region are adjacent to the intra block’s top boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s bottom boundary, or
the first set of sub-blocks in the first region are adjacent to the intra block’s left boundary and the first and second sub-blocks of the intra block are adjacent the intra block’s right boundary.
11. The method of any one of claims 8-10, wherein
the first sub-block of the first region is located in a first row of sub-blocks and the first sub-block of the intra block is also located in the first row of sub-blocks, and the second sub-block of the first region is located in a second row of sub-blocks and the second sub-block of the intra block is also located in the second row of sub-blocks.
12. The method of any one of claims 8-10, wherein
the first sub-block of the first region is located in a first column of sub-blocks and the first sub-block of the intra block is also located in the first column of sub-blocks, and
the second sub-block of the first region is located in a second column of sub-blocks and the second sub-block of the intra block is also located in the second column of sub-blocks.
13. The method of any one of claims 8-10, wherein
the first sub-block of the first region is located in a first row of sub-blocks,
the second sub-block of the intra block is also located in the first row of sub-blocks, the second sub-block of the first region is located in a second row of sub-blocks, and the first sub-block of the intra block is also located in the second row of sub-blocks.
14. The method of any one of claims 8-10, wherein
the first sub-block of the first region is located in a first column of sub-blocks, the second sub-block of the intra block is also located in the first column of sub-blocks, the second sub-block of the first region is located in a second column of sub-blocks, and the first sub-block of the intra block is also located in the second column of sub-blocks.
15. The method of any one of claims 1-14, wherein
a first set of sub-blocks are located in a first region that is located outside of the intra block and that is further located adjacent to a first boundary of the intra block,
the first set of sub-blocks in the first region include a first sub-block in the first region and a second sub-block in the first region,
the second sub-block in the first region neighbors the first sub-block in the first region, the first sub-block in the first region contains the first set of inter prediction information, the second sub-block in the first region contains a second set of inter prediction information that is not identical to the first set of inter prediction information, storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in the first sub-block of the intra block, and
the method further comprises: determining that the second sub-block in the first region belongs to an intra block and storing the first set of inter prediction information in a second sub- block of the intra block as a result of determining that the second sub-block in the first region belongs to a second intra block.
16. The method of any one of claims 1-15, wherein
storing the first set of inter prediction information in the intra block comprises storing the first set of inter prediction information in a first region within the intra block,
the method further comprises: deriving a second set of inter prediction information for the intra block and storing the second set of inter prediction information in a second region within the intra block,
both the first and second set of inter prediction information are utilized for motion prediction of the future inter block,
deriving the second set of inter prediction information for the intra block comprises obtaining the second set of inter prediction information from a sub-block within a second region that is adjacent to a second boundary of the intra block, wherein the first boundary is
perpendicular to the second boundary.
17. The method of any one of claims 1-16, wherein the method is performed by a decoder.
18. The method of any one of claims 1-16, wherein the method is performed by an encoder.
19. A node (1802), for motion prediction, the node configured to:
derive at least a first set of inter prediction information for an intra block;
store the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and utilize the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
20. A node (1802) for motion prediction, the node configured to:
a deriving unit (1804) configured to derive at least a first set of inter prediction information for an intra block;
a storing unit (1806) configured to store the derived first set of inter prediction information in the intra block, wherein the first set of inter prediction information is associated with a first sub-block of the intra block; and
a utilizing unit (1808) configured to utilize the first set of inter prediction information associated with the first sub-block of the intra block for motion prediction of a future inter block.
21. The node of claim l9or 20, wherein the node is adapted to perform the method of any one of claims 1-16.
22. The node of any one of claims 19-21, wherein the node is a decoder.
23. The node of any one of claims 19-21, wherein the node is an encoder.
24. A computer program (1943) comprising instructions (1944) which when executed by processing circuity (1902) of a node (1802) causes the node to perform the method of any one of claims 1-16.
25. A carrier containing the computer program of claim 24, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium (1942).
PCT/EP2019/074841 2018-09-21 2019-09-17 Intra block carrying inter information WO2020058257A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862734591P 2018-09-21 2018-09-21
US62/734591 2018-09-21

Publications (1)

Publication Number Publication Date
WO2020058257A1 true WO2020058257A1 (en) 2020-03-26

Family

ID=67989010

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/074841 WO2020058257A1 (en) 2018-09-21 2019-09-17 Intra block carrying inter information

Country Status (1)

Country Link
WO (1) WO2020058257A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181309A1 (en) * 2007-01-29 2008-07-31 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video
US20100226436A1 (en) * 2009-03-05 2010-09-09 Qualcomm Incorporated System and method to process motion vectors of video data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181309A1 (en) * 2007-01-29 2008-07-31 Samsung Electronics Co., Ltd. Method and apparatus for encoding video and method and apparatus for decoding video
US20100226436A1 (en) * 2009-03-05 2010-09-09 Qualcomm Incorporated System and method to process motion vectors of video data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROSS (FRAUNHOFER) B: "Versatile Video Coding (Draft 1)", no. JVET-J1001, 15 June 2018 (2018-06-15), XP030198633, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/10_San Diego/wg11/JVET-J1001-v2.zip JVET-J1001_d2.docx> [retrieved on 20180615] *
CHEN (HUAWEI) J ET AL: "Algorithm description for Versatile Video Coding and Test Model 1 (VTM 1)", no. JVET-J1002, 16 June 2018 (2018-06-16), XP030198635, Retrieved from the Internet <URL:http://phenix.int-evry.fr/jvet/doc_end_user/documents/10_San Diego/wg11/JVET-J1002-v2.zip JVET-J1002-v2.doc> [retrieved on 20180616] *

Similar Documents

Publication Publication Date Title
CN109314785B (en) Method and apparatus for deriving motion prediction information
TWI756010B (en) Sample region merging
US11166040B2 (en) Video signal processing method and apparatus using adaptive motion vector resolution
EP3739883B1 (en) Method and apparatus for encoding and decoding a video signal
US9042455B2 (en) Propagation map
CN111373749B (en) Method and apparatus for low complexity bi-directional intra prediction in video encoding and decoding
WO2020185429A1 (en) Method, device, and system for determining prediction weight for merge mode
WO2020003281A1 (en) Video bitstream processing using an extended merge mode and signaled motion information of a block
CN110677679B (en) Shape dependent intra coding
WO2020016858A1 (en) Motion prediction based on updated motion vectors
WO2020039408A1 (en) Overlapped block motion compensation using temporal neighbors
US11558608B2 (en) On split prediction
WO2020125628A1 (en) Shape dependent interpolation filter
US20220321878A1 (en) Methods of video picture coding with sub-block merge simplification and related apparatuses
WO2020058257A1 (en) Intra block carrying inter information
KR20240026141A (en) Hybrid inter-bidirectional-prediction in video coding
WO2020143837A1 (en) Mmvd improvement
WO2020143830A1 (en) Integer mv motion compensation
US20220150532A1 (en) Motion refinement and weighted prediction
WO2020143831A1 (en) Mv precision constraints
WO2023131546A1 (en) Motion vector difference derivation
EP4364420A1 (en) Overlapped decoder side motion refinement
CN116546211A (en) Video encoding method, video encoding device, computer equipment and storage medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19769797

Country of ref document: EP

Kind code of ref document: A1