WO2021196228A1 - 帧间预测方法、编码器、解码器以及存储介质 - Google Patents

帧间预测方法、编码器、解码器以及存储介质 Download PDF

Info

Publication number
WO2021196228A1
WO2021196228A1 PCT/CN2020/083356 CN2020083356W WO2021196228A1 WO 2021196228 A1 WO2021196228 A1 WO 2021196228A1 CN 2020083356 W CN2020083356 W CN 2020083356W WO 2021196228 A1 WO2021196228 A1 WO 2021196228A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
current block
index value
angle
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2020/083356
Other languages
English (en)
French (fr)
Inventor
马彦卓
霍俊彦
万帅
杨付正
冉启宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to EP20928250.8A priority Critical patent/EP4131956A4/en
Priority to CN202080098554.3A priority patent/CN115280778A/zh
Priority to PCT/CN2020/083356 priority patent/WO2021196228A1/zh
Priority to TW110109406A priority patent/TWI867184B/zh
Publication of WO2021196228A1 publication Critical patent/WO2021196228A1/zh
Priority to US17/958,420 priority patent/US12231649B2/en
Anticipated expiration legal-status Critical
Priority to US19/009,735 priority patent/US20250142077A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • inter-frame prediction method in addition to the intra-frame prediction method, can also be used in the process of coding and decoding the current block.
  • inter-frame prediction can specifically adopt geometrical partitioning for inter-blocks (Geometrical partitioning for inter-blocks, GEO), or GPM prediction mode, where the current block between frames is divided into two non-rectangular partitions for prediction. Then weighted fusion, so as to obtain the predicted value of the current block.
  • GEO geometrical partitioning for inter-blocks
  • GPM prediction mode where the current block between frames is divided into two non-rectangular partitions for prediction. Then weighted fusion, so as to obtain the predicted value of the current block.
  • the second determining unit is configured to determine an angle index value and a step size index value when the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block; wherein, the angle index value and The step length index value represents the index number corresponding to the angle corresponding to the dividing line in the current block and the step length in the preset mapping table;
  • the decoder It is applied to the decoder to obtain the prediction mode parameter of the current block by parsing the code stream; when the prediction mode parameter indicates that the GPM is used to determine the inter prediction value of the current block, the angle index value and the step size index value are determined; The angle index value and the step length index value represent the angle corresponding to the dividing line in the current block and the index number corresponding to the step length in the preset mapping table; based on the size information of the current block and the angle index value , Using a preset model to determine the offset direction identification value of the current block; wherein the offset direction identification value is used to indicate the displacement direction of the current block between different division lines at the angle; based on the The offset direction identification value and the step size index value determine the inter-frame prediction value of the current block.
  • FIG. 4A is a block diagram of a video encoding system provided by an embodiment of the application.
  • 4B is a block diagram of a video decoding system provided by an embodiment of this application.
  • FIG. 7 is a schematic diagram of the overall architecture of a GPM prediction processing flow provided by an embodiment of the application.
  • the first image component may be a luminance component
  • the second image component may be a blue chrominance component
  • the third image component may be a red chrominance component
  • GPM geometrical Partition Mode
  • the corresponding weight matrix needs to be obtained through a certain offset value, and the calculation of the offset value needs to be determined in the horizontal direction (ie X Axis direction) offset still needs to be offset in the vertical direction (ie Y axis direction), the specific offset distance depends on the width (ie X axis direction) or height (ie Y axis direction) of the current block and the step length of the current block Index value. Since the current block of each size has its own corresponding division lines of 2 to 4 steps at different angles, these kinds of division lines with different lengths are the corresponding offset of the current block in the corresponding direction. Offset distance.
  • the context content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the video signal; and the decoded image buffer unit 110 is used to store reconstructed video coding blocks for Forecast reference. As the video image encoding progresses, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image buffer unit 110.
  • the code stream of the video signal is output; the code stream is input into the video decoding system 20, and first passes through the decoding unit 201 to obtain the decoded transform coefficient;
  • the inverse transform and inverse quantization unit 202 performs processing to generate a residual block in the pixel domain;
  • the intra prediction unit 203 can be used to generate data based on the determined intra prediction mode and the data from the previous decoded block of the current frame or picture The prediction data of the current video decoding block;
  • the motion compensation unit 204 determines the prediction information for the video decoding block by analyzing the motion vector and other associated syntax elements, and uses the prediction information to generate the predictability of the video decoding block being decoded Block; by summing the residual block from the inverse transform and inverse quantization unit 202 and the corresponding predictive block generated by the intra prediction unit 203 or the motion compensation unit 204 to form a decoded video block; the decoded video signal Through the filtering unit 205 in order to remove the block effect artifacts, the video quality can be improved
  • multiple prediction modes may be used for the current block to perform pre-encoding processing on the current block respectively.
  • multiple prediction modes usually include inter prediction mode, traditional intra prediction mode, and non-traditional intra prediction mode; among them, traditional intra prediction mode may include direct current (DC) mode, plane (PLANAR) Mode and angle mode, etc.
  • Non-traditional intra prediction modes can include matrix-based intra prediction (MIP) mode, cross-component linear model prediction (CCLM) mode, frame Intra Block Copy (IBC) mode and PLT (Palette) mode, etc.
  • inter prediction mode may include traditional inter prediction mode and GPM prediction mode.
  • the current block is general merge prediction, merge_subblock prediction, non-affine prediction, and non-composed intra-inter prediction (CIIP);
  • the angle and step size of the current block can be obtained or determined at this time.
  • the angle index value and the step length index value are respectively set as index numbers corresponding to the angle and the step length in the preset mapping table.
  • the offset direction identification value of the current block is obtained.
  • the preset displacement value may be 4, the third preset value may be 16, and the fourth preset value may be 8.
  • the size information of the current block may include the height and width of the current block.
  • the height of the current block is represented by nH
  • the width of the current block is represented by nW
  • the angle index value of the current block is represented by angleIdx; thus, the calculation of the first correction value as follows,
  • the displacement direction of the dividing line of the current block at this angle is the horizontal direction, that is, the dividing line will be offset on the X axis; if the value of shiftHor is 0, then the current block Under this angle, the displacement direction of the dividing line is the vertical direction, that is, the dividing line will be offset on the Y axis.
  • the luminance component as an example, it can be described by a luma location (xCb, yCb); the size information of the current block, It can be described by cbWidth and cbHeight; the mv information of the luminance component with 1/16 pixel accuracy can be expressed in 1/16 fractional-sample accuracy mvA and mvB; the mv information of the chrominance component with 1/32 pixel accuracy can be expressed as 1/ 32 Fractional-sample accuracy mvCA and mvCB represent; the reference frame corresponding to mv information can be represented by refIdxA and refIdxB; the list identifier selected by mv information is represented by predListFlagA and predListFlagB.
  • the second partition namely A partition and B partition.
  • partFlip is used to indicate the distribution positions of the A partition and the B partition in the current block. Specifically, if the value of partFlip is 0, it means that the weight index value weightIdx obtained in the following formula (11) can be used for the negative side of the A partition, and the opposite side is the B partition; if the value of partFlip is 1, the opposite is true. That is, the side where the weight index value weightIdx is positive is the A partition, and the opposite side (that is, the negative side) is the B partition.
  • Table 3 provides an example of the search for the distance arrangement of the geometric division line.
  • the disLut[] used in formula (11) is shown in Table 3.
  • subW and subH represent the downsampling rate. If the YUV format of the current block is 420 The format, both subW and subH can be 2.
  • weightIdx the absolute value of weightIdx
  • its inter-frame prediction value can be represented by the prediction value corresponding to each of the three image components, and the following formula (14) can be used for weighting calculation. Specifically, by performing a pixel-by-pixel weighted fusion on the unidirectional prediction values of the two partitions, the inter-frame prediction value of each pixel in the current block can be obtained, thereby obtaining the final GPM prediction block.
  • the specific weighting calculation method is as follows,
  • BitDepth represents the bit depth
  • offset1 is used for rounding
  • shift1 is used to restore the weighted average predicted value to the same bit depth as the input video
  • cbWidth and cbHeight are the width and height of the motion mask matrix corresponding to the GPM prediction block (that is, the width and height of the brightness component of the current block).
  • the product information between the angle tangent and the aspect ratio of the current block as shown in Table 5 is used, where the 4/1, 2/1, 1/1, 1/2, 1 in the left column /4 represents the aspect ratio of the current block, the numbers such as 0, 16, 2, 18, 14, 30 in the upper row represent the angle index value, and the number in the middle position represents the product of the two.
  • the areas whose product is less than (or, less than or equal to) 1 will all adopt the horizontal moving dividing line, and the areas whose product is greater than or equal to (or, greater than) 1 will all adopt the vertical moving dividing line, thus realizing the division of the current block. Determination of the direction of line movement.
  • the following preset model may also be used for calculation.
  • the determining the offset direction identification value of the current block by using a preset model based on the size information of the current block and the angle index value may include :
  • the preset ratio may be 16, and the calculation of the first correction value may still use the calculation of formula (1).
  • the aspect ratio value of the current block (indicated by normalHwRatio) is calculated as follows,
  • the offset direction identification value of the current block is obtained.
  • the effects achieved by the two are equivalent.
  • the square or vertical block corresponding to the angle with the angle index value of 2, 18, 14, 30 can only move in the horizontal direction, and the angle index value is 3, 19, At the angles corresponding to 13 and 29, the square blocks are also adjusted to move in the horizontal direction, as shown in Figure 11A.
  • shiftHor can also be equivalent to a list implementation.
  • the value of shiftHor can also be obtained by looking up a table, such as shown in Table 9 or Table 10.
  • the corresponding value of at least one pixel can be calculated based on the difference between the real value of at least one pixel in the current block and the inter-predicted value.
  • the use of the preset model simplifies the calculation process of the offset direction identification value, and reduces the calculation complexity; in addition, it can also modify the movement direction of the dividing line in different size blocks under some angles in the GPM prediction mode, so that it can be used for all block sizes.
  • the distribution of the dividing lines is more even and sparse, which solves the problem of performance loss caused by the dense distribution of dividing lines in the GPM prediction mode, thereby improving the coding and decoding performance to achieve the purpose of improving the coding and decoding efficiency.
  • a frame of video image can also be divided into multiple image blocks, and each image block currently to be decoded can be a CB.
  • the current block specifically refers to a decoded block in the video image that is currently to be decoded and predicted for the first image component, the second image component, or the third image component.
  • the offset direction identification value of the current block is obtained.
  • the offset direction identification value of the current block is obtained.
  • the first prediction unit 1303 is configured to perform inter-frame prediction on the current block based on the offset direction identification value and the step size index value.
  • the first prediction unit 1303 is specifically configured to use the first prediction value, the second prediction value, and the weight matrix to perform a weighting operation on each pixel in the current block to obtain the inter prediction of the current block value.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, may also be a module, or may be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the first memory 1402 is configured to store a computer program that can run on the first processor 1403;
  • the prediction mode parameter indicates to use the geometric division prediction mode GPM to determine the inter prediction value of the current block, determine the angle and step size corresponding to the division line in the current block, and set the angle index value and the step size index value respectively Is the index number corresponding to the angle and the step length in the preset mapping table;
  • the first memory 1402 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically available Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be a random access memory (Random Access Memory, RAM), which is used as an external cache.
  • the embodiments described in this application can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
  • ASIC application specific integrated circuits
  • DSP Digital Signal Processing
  • DSP Device digital signal processing equipment
  • PLD programmable Logic Device
  • PLD Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (for example, procedures, functions, etc.) that perform the functions described in this application.
  • the software codes can be stored in the memory and executed by
  • the first processor 1403 is further configured to execute the method described in any one of the foregoing embodiments when the computer program is running.
  • the parsing unit 1501 is further configured to parse the code stream to obtain the division mode index value of the current block;
  • the second determining unit 1502 is specifically configured to query the angle index value and the step size index value corresponding to the division mode index value from a preset mapping table based on the division mode index value; wherein, the prediction Suppose the mapping table is used to indicate the corresponding relationship between the division mode index value, the angle index value, and the step size index; the angle index value and the step size index value obtained by the query are determined as the angle index value and the step size index of the current block value.
  • the second calculation unit 1503 is further configured to perform logarithmic calculations on the width and height of the current block to obtain the width logarithm value and the height logarithm value; calculate the width logarithm value and the height logarithm value. The difference between the numerical values; perform a superposition operation on the calculated difference and the first preset value to obtain a second correction value; compare the second correction value with the first correction value; according to the result of the comparison To obtain the offset direction identification value of the current block.
  • the second calculation unit 1503 is further configured to perform shift processing on the height of the current block by using a preset displacement value to obtain the shifted height; and compare the shifted height with the Perform a ratio operation on the width of the current block to obtain the aspect ratio value of the current block; use the first correction value to perform shift processing on the second preset value to obtain the shifted correction value; The correction value of is compared with the aspect ratio value of the current block; according to the comparison result, the offset direction identification value of the current block is obtained.
  • the second calculation unit 1503 is further configured to perform a modulo operation on a third preset value by using the angle index value to obtain a modulo result; and perform a modulo operation on the modulo result with the fourth preset value. Compare, and determine the first correction value according to the result of the comparison.
  • the second calculation unit 1503 is further configured to search for a log value corresponding to the angle index value from the first look-up table based on the angle index value; The first correction value.
  • the second calculation unit 1503 is further configured to search for a displacement indication value corresponding to the angle index value from a second look-up table based on the angle index value; and compare the found displacement indication value with The preset judgment result is compared; the offset direction identification value of the current block is obtained according to the comparison result; wherein the preset judgment result is obtained by judging whether the height of the current block is greater than the width.
  • the second determining unit 1502 is further configured to, if the offset direction identification value is equal to 1, determine that the displacement direction of the dividing line of the current block at the angle is the horizontal direction; if the offset is If the displacement direction identification value is equal to 0, it is determined that the displacement direction of the dividing line of the current block at the angle is the vertical direction.
  • the second calculation unit 1503 is further configured to calculate the weight matrix of the current block according to the offset information
  • the second prediction unit 1504 is specifically configured to use the first prediction value, the second prediction value, and the weight matrix to perform a weighting operation on each pixel in the current block to obtain the inter prediction of the current block value.
  • a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a module, or it may also be non-modular.
  • the various components in this embodiment may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be realized in the form of hardware or software function module.
  • the second communication interface 1601 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
  • the angle index value and the step size index value are determined; wherein, the angle index value and the step size index value represent the The index number corresponding to the angle and step length corresponding to the dividing line in the current block in the preset mapping table;
  • This embodiment provides a decoder, which may include an analysis unit, a second determination unit, a second calculation unit, and a second prediction unit.
  • the preset model is used to simplify the calculation process of the offset direction identification value and reduce the calculation complexity; in addition, it can also modify the movement direction of the dividing line in different size blocks under some angles in the GPM prediction mode, so that The partition line distribution for all block sizes is more uniform and sparse, which solves the problem of performance loss caused by too dense partition line distribution in the GPM prediction mode, thereby improving the coding and decoding performance to achieve the purpose of improving the coding and decoding efficiency.

Landscapes

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

Abstract

本申请实施例公开了一种帧间预测方法、编码器、解码器以及存储介质,该方法包括:确定当前块的预测模式参数;当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。

Description

帧间预测方法、编码器、解码器以及存储介质 技术领域
本申请实施例涉及视频编解码技术领域,尤其涉及一种帧间预测方法、编码器、解码器以及存储介质。
背景技术
在视频编解码领域,针对当前块进行编解码的过程,除了采用帧内预测方式之外,还可以采用帧间预测方式。其中,帧间预测具体可以采用帧间几何划分预测模式(Geometrical partitioning for inter blocks,GEO),或称之为GPM预测模式,将帧间的当前块划分为两个非矩形的分区分别进行预测后再加权融合,从而得到当前块的预测值。
然而,每一种尺寸的当前块在不同角度下各自对应有2~4种步长的分割线,而这几种不同步长的分割线是根据当前块在对应方向上移动以及步长索引相关联的偏移距离得到的。经过研究发现,目前的计算过程涉及的比较情况较多,使得计算复杂度高;而且对于角度索引为2、18、14、30、3、19、13、29的角度,其所对应的当前块中存在有不合理的分割线分布情况,比如在垂直方向上移动所获得的不同步长的分割线之间的距离太过密集,从而导致当前角度下的性能丢失,降低了编解码效率。
发明内容
本申请实施例提供一种帧间预测方法、编码器、解码器以及存储介质,可以简化计算过程,降低计算复杂度,同时还能够解决GPM预测模式下分割线分布过于密集而导致性能丢失的问题。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种帧间预测方法,应用于编码器,该方法包括:
确定当前块的预测模式参数;
当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型计算确定当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
第二方面,本申请实施例提供了一种帧间预测方法,应用于解码器,该方法包括:
解析码流,获取当前块的预测模式参数;
当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
第三方面,本申请实施例提供了一种编码器,该编码器包括第一确定单元、第一计算单元和第一预测单元;其中,
所述第一确定单元,配置为确定当前块的预测模式参数;
所述第一确定单元,还配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
所述第一计算单元,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所 述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
所述第一预测单元,配置为基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
第四方面,本申请实施例提供了编码器,该编码器包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第五方面,本申请实施例提供了解码器,该解码器包括解析单元、第二确定单元、第二计算单元和第二预测单元;其中,
所述解析单元,配置为解析码流,获取当前块的预测模式参数;
所述第二确定单元,配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
所述第二计算单元,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
所述第二预测单元,配置为基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
第六方面,本申请实施例提供了解码器,该解码器包括第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如第二方面所述的方法。
第七方面,本申请实施例提供了计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种帧间预测方法、编码器、解码器以及存储介质,应用于编码器,确定当前块的预测模式参数;当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。应用于解码器,通过解析码流,获取当前块的预测模式参数;当所述预测模式参数指示使用GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。这样,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
附图说明
图1A为相关技术方案提供的一种几何划分模式的结构示意图;
图1B为相关技术方案提供的另一种几何划分模式的结构示意图;
图2为相关技术方案提供的一种当前块的角度和步长的结构示意图;
图3A、图3B和图3C分别为相关技术方案提供的一种GPM预测模式在不同角度下分割线之间的间距示意图;
图4A为本申请实施例提供的一种视频编码系统的组成框图;
图4B为本申请实施例提供的一种视频解码系统的组成框图;
图5为本申请实施例提供的一种帧间预测方法的流程示意图;
图6A为本申请实施例提供的一种构造merge列表的相邻块分布示意图;
图6B为本申请实施例提供的一种merge列表单向mv选择的结构示意图;
图7为本申请实施例提供的一种GPM预测处理流程的总体架构示意图;
图8为本申请实施例提供的一种偏移信息计算的结构示意图;
图9A为本申请实施例提供的一种当前块的亮度权重矩阵示意图;
图9B为本申请实施例提供的一种当前块的色度权重矩阵示意图;
图10A为相关技术方案提供的一种块尺寸、角度索引值和分割线移动方向的对应关系示意图;
图10B为本申请实施例提供的一种块尺寸、角度索引值和分割线移动方向的对应关系示意图;
图11A为本申请实施例提供的另一种块尺寸、角度索引值和分割线移动方向的对应关系示意图;
图11B为本申请实施例提供的又一种块尺寸、角度索引值和分割线移动方向的对应关系示意图;
图11C为本申请实施例提供的再一种块尺寸、角度索引值和分割线移动方向的对应关系示意图;
图12为本申请实施例提供的另一种帧间预测方法的流程示意图;
图13为本申请实施例提供的一种编码器的组成结构示意图;
图14为本申请实施例提供的一种编码器的具体硬件结构示意图;
图15为本申请实施例提供的一种解码器的组成结构示意图;
图16为本申请实施例提供的一种解码器的具体硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
在视频图像中,一般采用第一图像分量、第二图像分量和第三图像分量来表征当前块(Coding Block,CB);其中,这三个图像分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量,具体地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。
在本申请实施例中,第一图像分量可以为亮度分量,第二图像分量可以为蓝色色度分量,第三图像分量可以为红色色度分量,但是本申请实施例不作具体限定。
下面将针对几何划分预测模式(Geometrical Partition Mode,GPM)进行相关技术方案的描述。
在视频编码的混合框架中,通常只以正方形和矩形的块为单位实施预测、变换和量化等编码技术。然而实际应用中,运动物体的边缘并不一定都是水平或者垂直方向;即使是,也不一定刚好处于可以划分的块边缘上,由于运动边缘两侧的运动矢量往往不同,这样在编码过程中以一个整块进行运动预测和补偿,容易产生较大的预测误差,从而导致编码效率受限。
在新一代视频编码标准H.266/多功能视频编码(Versatile Video Coding,VVC)的制定过程中,引入了正方形和矩形之外的其他形状划分。首先是三角划分预测模式(Triangular partition Mode,TPM)的引入,如图1A所示;在图1A中,以一个正方形或矩形的对角线、或反对角线作为分割线,用以得到三角形的预测单元,从而能够更灵活的表示帧间预测数据,降低了预测误差,进而提高了编码效率。
在联合视频专家组(Joint Video Experts Team,JVET)的第某次会议中,提出了一种比TPM更为灵活的帧间几何划分帧间预测模式(Geometrical partitioning for inter blocks,GEO),之后JVET还正式将GEO预测模式采纳到VVC中,并且更名为GPM。具体地,该GPM预测技术针对图像中运动物体的边缘部分,采用更为灵活的表示方法,将帧间块划分为两个非矩形的子分区,如图1B所示;针对划分后的两个子分区分别进行预测后再加权融合,以得到当前块的帧间预测值。
还需要说明的是,在目前VVC中,GPM预测技术总共可以有64种划分模式,而每一种划分模式对应一种角度(用α表示)和一种步长(用ρ表示),也即总共可以有20种角度、4种步长。如图2所示,水平方向向右旋转到分割线法线位置的角度即为α,分割线的法线距离即为ρ;这里,每一种角度和步长的组合可以构成一种划分模式。在GPM预测模式下,根据一种划分模式可以将当前块划分为两个非矩形的子分区,每个子分区单独进行单向的运动补偿以得到单向预测值,最后利用权重矩阵对两个子分区的单向预测值进行加权融合,可以得到最终的GPM预测值。
在实际应用中,针对每一个当前块的预测过程,都需要通过一定的偏移值来获得对应的权重矩阵,而偏移值的计算需要根据当前块的角度来判断需要在水平方向(即X轴方向)偏移还是需要在垂直方向(即Y轴方向)偏移,具体的偏移距离取决于当前块的宽度(即X轴方向)或者高度(即Y轴方向)以及当前块的步长索引值。由于每一种尺寸的当前块,在不同的角度下都有各自对应的2~4种步长的分割线,这几种不同步长的分割线,就是当前块在对应方向上偏移相应的偏移距离得到的。但是目前通过 对所有块尺寸以及所有角度不同步长的分割线研究可以发现,对于角度索引值为2、18、14、30的角度,其所对应的所有块尺寸在垂直方向上移动所获得的不同步长的分割线之间的距离太过密集,导致当前角度下这几种步长的模式之间性能相当,而且还占用了多余的模式位数;同时,角度索引值为3、19、13、29所对应的角度下,对于正方形和高度小于宽
Figure PCTCN2020083356-appb-000001
在垂直方向上移动得到的分割线之间的分布也过于密集,而反观在水平方向上移动得到的分割线之间的分布就相对比较均匀稀疏。如图3A、图3B和图3C所示,其给出了GPM预测模式在不同角度下分割线之间的间距示意图。其中,块尺寸涵盖了4:1、2:1、1:1、1:2和1:4等5种尺寸,角度索引涵盖了2、18、3、19、4、20、5、21、11、27、12、28、13、29、14和30等多种角度索引值;在每个方框内,左侧表示水平移动方向,右侧为垂直移动方向,“”表示水平移动的间距大于垂直移动的间距,“”表示水平移动的间距小于垂直移动的间距,“”表示水平移动的间距近似等于垂直移动的间距,而灰色椭圆覆盖部分为原始方案不采纳的情况。从图3A、图3B和图3C中看出,如果当前块内的分割线是在垂直方向上偏移,即对于水平划分角度(法线垂直)8和24的所有块尺寸,以及其余角度的高度大于或等于宽度的块,那么都只在垂直方向上偏移与高度以及步长索引值有关的步长;如果当前块内的分割线是在水平方向上偏移,对于垂直划分角度(法线水平)0和16的所有块尺寸,以及其余角度的宽度大于或等于高度的块,那么都只在水平方向上偏移与宽度以及步长索引值有关的步长,最终能得到当前块所对应的角度和步长索引下的分割线。
根据上述原理分析以及结合图3A、图3B和图3C,对于角度索引值为2、18、14、30、3、19、13、29所对应的角度,都存在有选择不合理的分割线过密间距的情况,导致当前角度下的性能丢失;另外,原始方案中所涉及的比较情况较多,而且还使用了“位与”、“位或”运算符,导致计算复杂度高,从而降低了编解码效率。
本申请实施例提供了一种帧间预测方法,应用于编码器或解码器。在当前块的预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,通过确定当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;基于当前块的尺寸信息以及所述角度索引值,利用预设模型确定当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,确定所述当前块进行帧间预测值。这样,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
下面将结合附图对本申请各实施例进行详细说明。
参见图4A,其示出了本申请实施例提供的一种视频编码系统的组成框图示例;如图4A所示,该视频编码系统10包括变换与量化单元101、帧内估计单元102、帧内预测单元103、运动补偿单元104、运动估计单元105、反变换与反量化单元106、滤波器控制分析单元107、滤波单元108、编码单元109和解码图像缓存单元110等,其中,滤波单元108可以实现去方块滤波及样本自适应缩进(Sample Adaptive 0ffset,SAO)滤波,编码单元109可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmatic Coding,CABAC)。针对输入的原始视频信号,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元101对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元102和帧内预测单元103是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元102和帧内预测单元103用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元104和运动估计单元105用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元105执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元104基于由运动估计单元105所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元103还用于将所选择的帧内预测数据提供到编码单元109,而且运动估计单元105将所计算确定的运动向量数据也发送到编码单元109;此外,反变换与反量化单元106是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元107和滤波单元108去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元109是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该视频信号的码流;而解码图像缓存单元110是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元110中。
参见图4B,其示出了本申请实施例提供的一种视频解码系统的组成框图示例;如图4B所示,该视频解码系统20包括解码单元201、反变换与反量化单元202、帧内预测单元203、运动补偿单元204、滤波单元205和解码图像缓存单元206等,其中,解码单元201可以实现头信息解码以及CABAC解码,滤波单元205可以实现去方块滤波以及SAO滤波。输入的视频信号经过图4A的编码处理之后,输出该视频信号的码流;该码流输入视频解码系统20中,首先经过解码单元201,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元202进行处理,以便在像素域中产生残差块;帧内预测单元203可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元204是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元202的残差块与由帧内预测单元203或运动补偿单元204产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元205以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元206中,解码图像缓存单元206存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的原始视频信号。
本申请实施例中的帧间预测方法,可以应用在如图4A所示的运动补偿单元104和运动估计单元105的帧间预测部分,也可以应用在如图4B所示的运动补偿单元204的帧间预测部分。也就是说,本申请实施例中的帧间预测方法,既可以应用于视频编码系统,也可以应用于视频解码系统,甚至还可以同时应用于视频编码系统和视频解码系统,但是本申请实施例不作具体限定。还需要说明的是,当该帧间预测方法应用于如图4A所示的帧间预测部分时,“当前块”具体是指帧间预测中的当前编码块;当该帧间预测方法应用于如图4B所示的帧间预测部分时,“当前块”具体是指帧间预测中的当前解码块。
基于上述图4A的应用场景示例,参见图5,其示出了本申请实施例提供的一种帧间预测方法的流程示意图。如图5所示,该方法可以包括:
S501:确定当前块的预测模式参数;
需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(Coding Block,CB)。这里,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。
其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
还需要说明的是,预测模式参数指示了当前块采用的预测模式以及与该预测模式相关的参数。这里,针对预测模式参数的确定,可以采用简单的决策策略,比如根据失真值的大小进行确定;也可以采用复杂的决策策略,比如根据率失真优化(Rate Distortion Optimization,RDO)的结果进行确定,本申请实施例不作任何限定。通常而言,可以采用RDO方式来确定当前块的预测模式参数。
具体地,在一些实施例中,对于S501来说,所述确定当前块的预测模式参数,可以包括:
利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;
从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式确定为当前块的预测模式参数。
也就是说,在编码器侧,针对当前块可以采用多种预测模式分别对当前块进行预编码处理。这里,多种预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式;其中,传统帧内预测模式可以包括有直流(Direct Current,DC)模式、平面(PLANAR)模式和角度模式等,非传统帧内预测模式可以包括有基于矩阵的帧内预测(Matrix-based Intra Prediction,MIP)模式、跨分量线性模型预测(Cross-component Linear Model Prediction,CCLM)模式、帧内块复制(Intra Block Copy,IBC)模式和PLT(Palette)模式等,而帧间预测模式可以包括有传统帧间预测模式和GPM预测模式等。
这样,在利用多种预测模式分别对当前块进行预编码之后,可以得到每一种预测模式对应的率失真代价值;然后从所得到的多个率失真代价值中选取最小率失真代价值,并将该最小率失真代价值对应的预测模式确定为当前块的预测模式参数。除此之外,还可以在利用多种预测模式分别对当前块进行预编码之后,得到每一种预测模式对应的失真值;然后从所得到的多个失真值中选取最小失真值,并将该最小失真值对应的预测模式确定为当前块的预测模式参数。如此,最终使用所确定的预测模式参数对当前块进行编码,而且在这种预测模式下,可以使得预测残差较小,能够提高编码效率。
S502:当所述预测模式参数指示使用GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
需要说明的是,对于当前块而言,如果当前块能够使用GPM预测模式,那么当前块需要满足一些 限制条件。示例性地,这些限制条件可以包括:
(a)序列层参数集(Sequence Parameter Set,SPS)允许采用GPM预测模式;
(b)当前块的编码图像区域属于双向预测片(B slice);
(c)当前块的尺寸限制,宽度和高度必须都大于或等于8,且小于或等于64,并且当前块的宽高比和高宽比都小于8;
(d)当前块为非普通融合(general merge)预测,非融合子块(merge_subblock)预测,非仿射预测,也非联合帧内帧间预测(Composed Intra Inter Prediction,CIIP);
(e)对4:0:0格式的色度分量禁用GPM预测模式。
还需要说明的是,如果当前块满足上述限制条件,且预测模式参数指示使用GPM确定当前块的帧间预测值时,这时候就可以获取或者确定出当前块的角度和步长。这里,角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号。
进一步地,在一些实施例中,当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,该方法还可以包括:
确定所述当前块的划分模式;
将划分模式索引值确定为所述划分模式在预设映射表中对应的索引序号并写入码流;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系。
也就是说,在确定出预测模式参数指示使用GPM确定当前块的帧间预测值时,这时候还可以确定当前块的划分模式;其中,每一种划分模式对应有一种角度和一种步长。通常而言,GPM预测模式总共有64种划分模式,针对这么多的划分模式,仍然可以采用RDO方式来确定当前块的划分模式,同时将划分模式索引值确定为该划分模式在预设映射表中对应的索引序号并写入码流,以便后续在解码器侧可以通过解析码流以获取到划分模式索引值,进而通过查找预设映射表来确定当前块的角度索引值和步长索引值。
其中,用于反映划分模式索引值、角度索引值和步长索引的预设映射表如表1所示;在表1中,总共提供了64种划分模式,以及每一种划分模式对应的角度索引值和步长索引值;这里,merge_gpm_partition_idx为划分模式索引值,angleIdx为角度索引值,distanceIdx为步长索引值。
表1
Figure PCTCN2020083356-appb-000002
S503:基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
需要说明的是,当确定出当前块之后,即可以得到当前块的尺寸信息,比如当前块的高度和宽度。这样,根据当前块的尺寸信息以及角度索引值,能够计算得到当前块的偏移方向标识值,可以用shiftHor表示。
具体地,在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
根据所述角度索引值,确定第一修正值;
利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;
利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;
将所述移位后的高度和所述移位后的宽度进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
进一步地,在一些实施例中,所述根据所述角度索引值,确定第一修正值,可以包括:
利用所述角度索引值对第三预设值进行取模运算,获得取模结果;
将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
这里,预设位移值可以为4,第三预设值可以为16,第四预设值可以为8。另外,当前块的尺寸信息可以包括当前块的高度和宽度,当前块的高度用nH表示,当前块的宽度用nW表示,当前块的角度索引值用angleIdx表示;如此,第一修正值的计算如下,
△shift=((angleIdx%16)>8)?(16-(angleIdx%16)):(angleIdx%16)         (1)
其中,“%”表示取模运算符。根据式(1),如果angleIdx%16的取模结果大于8,那么比较的结果为16-angleIdx%16,即为第一修正值;如果angleIdx%16的取模结果小于或等于8,那么比较的结果为angleIdx%16,即为第一修正值。需要说明的是,对于式(1)而言,该式的一种等价形式可以表示为△shift=((angleIdx%16)>=8)?(16-(angleIdx%16)):(angleIdx%16),但不作具体限定。
这样,在计算得到第一修正值之后,当前块的偏移方向标识值(shiftHor)的计算公式为shiftHor=(nH<<△shift)<(nW<<4),即
shiftHor=(nH<<(((angleIdx%16)>8)?(16-(angleIdx%16)):(angleIdx%16)))<(nW<<4)          (2)
对于式(2)而言,其等价形式还可以用下式表示,
shiftHor=(nH<<(((angleIdx%16)>=8)?(16-(angleIdx%16)):(angleIdx%16)))<(nW<<4)
或者,
shiftHor=(nH<<(((angleIdx%16)>8)?(16-(angleIdx%16)):(angleIdx%16)))<=(nW<<4)
或者,
shiftHor=(nH<<(((angleIdx%16)>=8)?(16-(angleIdx%16)):(angleIdx%16)))<=(nW<<4)       (3)
另外,对于式(2)而言,其等价形式还可以拆分为下述两个等式,如下表示,
normalHwRatio=nH<<(((angleIdx%16)>8)?(16-(angleIdx%16)):(angleIdx%16))
shiftHor=normalHwRatio<(nW<<4)
其中,“<<”表示左移运算符,比如“<<△shift”表示以二进制为基础,比特左移△shift位的操作。
无论是式(1)还是式(2)或者式(3),这些等式的等价形式均具有很多种,本申请实施例不作具体限定。以shiftHor=(nH<<△shift)<(nW<<4)为例,该式的等价形式还可以表示为shiftHor=(nH<<△shift)<(nW<<4)?1:0;或者,表示为shiftHor=(nH<<△shift)>=(nW<<4)?0:1;或者,表示为shiftHor=(nH<<△shift)>(nW<<4)?0:1。
这样,依据式(2),通过将(nH<<△shift)与(nW<<4)进行比较,如果比较的结果为真,即(nH<<△shift)小于(nW<<4),那么shiftHor的取值为1;如果比较的结果为假,即(nH<<△shift)大于或等于(nW<<4),那么shiftHor的取值为0。
还需要说明的是,由于shiftHor用于指示当前块在同一角度下不同分割线之间的位移方向,也就是说,根据shiftHor的取值不同,可以确定当前块在同一角度下不同分割线之间的位移方向是水平方向还是垂直方向。因此,在一些实施例中,该方法还可以包括:
若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;
若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
也就是说,如果shiftHor的取值为1,那么当前块在该角度下分割线的位移方向为水平方向,即分割线将在X轴上偏移;如果shiftHor的取值为0,那么当前块在该角度下分割线的位移方向为垂直方向,即分割线将在Y轴上偏移。
S504:基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
需要说明的是,在得到偏移方向标识值和步长索引值之后,可以确定出当前块的目标分割线以及偏移信息,用以计算当前块的帧间预测值。具体地,在一些实施例中,所述基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测,可以包括:
基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;
基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
根据所述偏移信息,计算所述当前块的权重矩阵;
利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
可以理解地,在GPM预测模式中,确定出偏移方向标识值和步长索引值之后,可以获得当前块的目标分割线,用以将当前块划分为第一分区和第二分区(即A分区和B分区)。而在确定出两个分区之后,还需要计算这两个分区各自的单向预测值。
这里,GPM预测模式可以重用已有的常规merge列表,按照奇偶校验方式构造属于GPM的单向merge列表,使得使用GPM划分后的两个分区各自的候选运动矢量(motion vector,mv)信息都是从该单向merge列表中选出的。
具体来讲,第一步,构造merge列表,与常规merge模式下构造列表的过程一致。其构造顺序为:上侧相邻块(用B 1表示),左侧相邻块(用A 1表示),右上侧相邻块(用B 0表示),左下侧相邻块(用A 0表示),左上侧相邻块(用B 2表示),参考帧对应位置块(用col表示),历史参考块(用his表示),第一、第二候选mv的平均运动矢量(用mv avg表示),以及零运动矢量(用0表示)。如图6A所示,其给出了当前块构造merge列表的相邻块分布示意图;按照该构造顺序,能够得到当前块的merge列表。
第二步,可以确定出A分区和B分区各自在merge列表中所选择的参考选项位置信息,分别用m、n表示;编码器侧可以按照下式对语法元素进行赋值:
merge_gpm_idx0[xCb][yCb]=m
merge_gpm_idx1[xCb][yCb]=n-(merge_gpm_idx1[xCb][yCb]>=m)?1:0
然后对其进行二值化、熵编码等处理,并将其写入码流传输。也就是说,在编码器侧,当前块对应的编码单元(coding unit,CU)层语法元素描述如下表2所示。
表2
merge_data(x0,y0,cbWidth,cbHeight,cbType){ Descriptor
……  
merge_gpm_partition_idx[x0][y0] ae(v)
merge_gpm_idx0[x0][y0] ae(v)
if(MaxNumGpmMergeCand>2)  
merge_gpm_idx1[x0][y0] ae(v)
……}  
这里,ae(v)表示context-adaptive arithmetic entropy-coded syntax element,即上下文自适应的算术熵编码语法元素。
进一步地,令M=mergeCandList[m],表示从merge列表中取出第m项用于A分区的mv构造。因为在使用GPM预测的当前块中,每个分区都只会使用单向预测模式,但是merge列表中每一项都可能是双向预测的mv信息,因此需要取出其中的单向预测mv来供使用。令X=(m&0x01),其中&表示“位与”运算符,即取出m的最后一个比特位(类似于奇偶校验)。这样,优先使用X对应的参考列表中参考帧对应的mv信息(用predFlagLXM表示),可以用于分区预测,如图6B中的灰色块对应的选项。如果相应的mv不可用(即相邻块的mv本身也可能是单向的),这时候才会使用对向的mv(与灰色块水平对应的白色块表示的mv),即X=1-X。
此时,再将相应的mv信息存入给A分区的处理变量,准备后续的预测块构造,具体如下所示,
mvA[0]=mvLXM[0]
mvA[1]=mvLXM[1]
refIdxA=refIdxLXM
predListFlagA=X
其中,mvA为A分区的mv信息,refIdxA为该mv信息对应的参考帧,predListFlagA表示当前选用了该mv信息备选项的哪个list中的分量。其中,图6B中提供的list0和list1表示当前块在两个方向所对应的list0和list1;这两个方向可以是一个前向和一个后向,或者还可以是两个前向,或者也可以是两个后向,本申请实施例不作限定。
进一步地,令N=mergeCandList[n],表示从merge列表中取出第n项用于B分区的mv构造。其中,第n项的单向运动矢量用于mvB构造,优先使用如图6B中的灰色块对应的选项,如果不可用,才使用对向的mv。因此,令X=(n&0x01)。如果predFlagLXN不可用,那么X=1-X。
此时,再将相应的mv信息存入给B分区的处理变量,准备后续的预测块构造,具体如下所示,
mvB[0]=mvLXN[0]
mvB[1]=mvLXN[1]
refIdxB=refIdxLXN
predListFlagB=X
其中,mvB为B分区的mv信息,refIdxB为该mv信息对应的参考帧,predListFlagB表示当前选用了该mv信息备选项的哪个list中的分量。
如图7所示,其示出了本申请实施例提供的一种GPM预测处理流程的总体架构示意图。在图7中,该总体架构可以包括有输入模块701、处理模块702和输出模块703。其中,输入模块701提供GPM预测模式下的输入参数,这些输入参数包括有:当前块的像素位置,以亮度分量为例,可以用a luma location(xCb,yCb)描述;当前块的尺寸信息,可以用cbWidth和cbHeight描述;1/16像素精度的亮度分量的mv信息,可以用1/16 fractional-sample accuracy mvA and mvB表示;1/32像素精度的色度分量的mv信息,可以用1/32 fractional-sample accuracy mvCA and mvCB表示;mv信息对应的参考帧,可以用refIdxA and refIdxB表示;mv信息所选用的list标识,用predListFlagA and predListFlagB表示。处理模块702包括有3个步骤:首先,为三个图像分量(包括L分量、Cb分量和Cr分量)推导参考帧列表(用refPicLN表示)、亚像素预测像素值(用predSamplesLN表示),N为A或B,而且亚像素预测像素值为14比特深度;其次,推导分割线的角度和步长;再次,为三个图像分量推导加权预测像素值(用predSamples表示);最后,存储mv信息,用于后续预测mvN、refIdxN和predListFlagN。输出模块703用于输出预测像素值,可以包括三个图像分量各自对应的预测像素值,分别用predSampleL、predSampleCb和predSampleCr表示。这里,与常规的帧间预测技术相同,即采用已有的运动补偿方式,计算得到两个分区各自的单向预测值,以便用于后续GPM预测的加权融合过程。
需要说明的是,在进行加权融合之前,还需要确定当前块的权重矩阵。而在确定当前块的权重矩阵之前,首先需要根据当前块的划分模式以及偏移方向标识值去计算当前块的左上角对应于坐标原点的偏移信息,可以用offset(x,y)表示,而坐标原点处于同一角度下分割线穿过几何中心点的同样尺寸块的几何中心点,如图8所示。在图8中,黑色加粗直线表示分割线,灰色背景是根据目前的限定条件,通过偏移信息对应的矢量,最大尺寸的当前块(64×64)相对该坐标系的最大移动范围(112×112)。如果分割线不经过当前块的几何中心点,那么就保持分割线相对位置不动,移动当前块在坐标系中的位置,从而能够得到恰当的分割,以将当前块划分为第一分区和第二分区,也即A分区和B分区。
由于坐标点(x1,y1)到线cosαx-sinαy=0的距离d=cosαx1-sinαy1,这时候首先需要获取当前的角度所对应的cos(α)中α的索引值displacementX,以及对应的
Figure PCTCN2020083356-appb-000003
式中
Figure PCTCN2020083356-appb-000004
的索引值displacementY;具体计算如下,
displacementX=angleIdx                                               (4)
displacementY=(displacementX+8)%32                               (5)
其中,构造预定义的权重矩阵时,所使用的步长仅仅为第一个步长(即分割线一定与当前块的几何中心点相交)。
进一步地,由于A分区和B分区在码流中相关信息的传输是有先后顺序的,从而使得在两个分区的顺序安排上必须遵循一定的原则,即通过下式来计算partFlip值,具体如下所示,
partFlip=(angleIdx>=13&&angleIdx<=27)?0:1                             (6)
其中,partFlip用于指示A分区和B分区在当前块内的分布位置。具体地,如果partFlip值为0,表示可以利用后续式(11)中得到的权重索引值weightIdx为负值的一侧为A分区,其对侧为B分区;如果partFlip值为1时则相反,即权重索引值weightIdx为正值的一侧为A分区,其对侧(也即负值一侧)为B分区。
进一步地,根据已经获得的偏移方向标识值(可以用shiftHor表示)和步长索引值(可以用distanceIdx表示),可以计算出当前块的偏移信息,即在X轴方向的offsetX和在Y轴方向的offsetY。
如果偏移方向标识值等于0,即shiftHor等于0,这时候当前块在垂直方向上存在与当前块的高度相关的偏移值,此时的偏移信息如下所示,
offsetX=(-nW)>>1                                                         (7)
offsetY=((-nH)>>1)+angleIdx<16?(distanceIdx*nH)>>3:-((distanceIdx*nH)>>3)    (8)
如果偏移方向标识值等于1,即shiftHor等于1,这时候当前块在垂直方向上存在与当前块的宽度相关的偏移值,此时的偏移信息如下所示,
offsetX=((-nW)>>1)+angleIdx<16?(distanceIdx*nW)>>3:-((distanceIdx*nW)>>3)    (9)
offsetY=(-nH)>>1                                                          (10)
其中,“>>”表示右移运算符,nW表示当前块的宽度,nH表示当前块的高度。
这里,在确定出偏移信息offsetX和offsetY后,通过当前块内像素点位置可以计算当前像素点处的权重索引值(用weightIdx表示),进而能够计算出当前像素点处的权重值,以得到当前块的权重矩阵。
Figure PCTCN2020083356-appb-000005
weightIdxL=partFlip?32+weightIdx:32-weightIdx                               (12)
wValue=Clip3(0,8,(weightIdxL+4)>>3)                                    (13)
其中,clip3表示钳位运算符,0表示下界值,8表示上界值,比如clip3(i,j,x)表示:当x小于i时,其取值为i;当x大于j时,其取值为j;当x大于或等于i且小于或等于j时,其取值为x。
另外,表3提供了一种几何分割线距离排列查找表示例,式(11)中所使用的disLut[]如表3所示,subW和subH表示下采样率,如果当前块的YUV格式为420格式,subW和subH都可以为2。
表3
idx 0 2 3 4 5 6 8 10 11 12 13 14
disLut[idx] 8 8 8 4 4 2 0 -2 -4 -4 -8 -8
idx 16 18 19 20 21 22 24 26 27 28 29 30
disLut[idx] 8 -8 -8 -4 -4 -2 0 2 4 4 8 8
这里,weightIdx绝对值越小,表明了当前像素点距离分区的边缘越近,该像素点处在A、B两个分区上的权重分布越平均。
另外,亮度不需要下采样,而色度权重是针对亮度权重下采样得到的。具体地,编码器可以通过获取每个2*2块的右上角的亮度样本权重直接作为当前像素点(x,y)处的色度样本权重,即对亮度样本权重进行下采样。
示例性的,如图9A所示为亮度权重矩阵,对其进行下采样,可以得到图9B所示的色度权重矩阵;针对图9A中每个2*2块内选取一个像素点(优选为左上角像素点)的亮度样本权重直接作为当前像素点(x,y)处的色度样本权重,从而实现对亮度样本权重的下采样。
进一步地,针对当前块来说,其帧间预测值可以用三个图像分量各自应的预测值表示,并且均可以采用下述式(14)进行加权计算。具体地,对这两个分区的单向预测值进行逐像素的加权融合,可以得到当前块内每一像素的帧间预测值,从而得到最终的GPM预测块。具体的加权计算方式如下所示,
Figure PCTCN2020083356-appb-000006
其中,BitDepth表示比特深度,offset1用于四舍五入,shift1用于使得加权平均后的预测值恢复到与输入视频相同的比特深度;而offset1和shift1的计算如下所示,
shift1=Max(5,17-BitDepth)                                            (15)
offset1=1<<(shift1-1)                                                   (16)
进一步地,还需要将GPM预测块的mv信息进行存储。该存储过程可以是利用当前亮度块的运动掩码矩阵来实现的,如果预测值完全来自于A分区,那么记录A分区的mv信息;如果预测值完全来自于B分区,那么记录B分区的mv信息;否则,将会同时记录两个分区的mv信息。这里,运动掩码的计算同计算亮度权重矩阵的过程基本一致,首先计算偏移信息,包括在X轴方向的offsetX和在Y轴方向的offsetY。
如果偏移方向标识值等于0,即shiftHor等于0,这时候的偏移信息如下所示,
offsetX=(-cbWidth)>>1                                                 (17)
Figure PCTCN2020083356-appb-000007
如果偏移方向标识值等于1,即shiftHor等于1,这时候的偏移信息如下所示,
Figure PCTCN2020083356-appb-000008
offsetY=(-cbHeight)>>1                                                  (20)
其中,cbWidth和cbHeight是GPM预测块对应的运动掩码矩阵的宽度和高度(也即当前块亮度分量的宽度和高度)。
由于GPM预测块的运动掩码矩阵仍是以4×4子块为单位进行计算的,那么每个4×4子块的几何中心位置(4i+2,4j+2)处的运动索引值(可以用motionIdx表示)的计算类似于权重索引值weightIdx的计算,具体如下所示,
Figure PCTCN2020083356-appb-000009
然后,再确定当前4×4的子块需要存储的mv信息。同预测加权时一样,需要首先确定出当前子块处于A分区还是B分区,而partIdx的计算具体如上述式(6)所示。这里,(xSbIdx,ySbIdx)表示每个4×4子块(SubBlock,SB)在当前CU中的子块坐标信息,该坐标信息的范围为xSbIdx=0,…,numSbX–1,ySbIdx=0,…,numSbY–1。partIdx表示是否需要对两个分区进行翻转。
sType=abs(motionIdx)<32?2:(motionIdx<=0?partIdx:(1-partIdx))               (22)
如此,根据每个4×4子块的几何中心位置(4i+2,4j+2)处abs(motionIdx)的大小,来判断当前子块存储单向mv还是双向mv;具体判断过程如下,
如果sType的取值为2,那么当前块存储构造的双向mv;否则,如果sType的取值为0,那么当前块存储第一分区的mvA;如果sType的取值为1,那么当前块存储第二分区的mvB。需要注意的是,这些存储下来的mv信息将用于后续编码块的mv预测。
这样,结合图7所示的GPM预测处理流程的总体架构示例,在确定处当前块的第一分区的第一预测值和当前块的第二分区的第二预测值之后,由于根据偏移信息,还可以计算出当前块的权重矩阵;那么利用第一预测值、第二预测值以及所述权重矩阵对当前块内各像素点进行加权融合,可以获得当前块的帧间预测值。
然而,由于在GPM预测处理过程中,原始方案中的偏移方向标识值(shiftHor)的计算过程如下,
HwRatio=nH/nW                                                        (23)
shiftHor=((angleIdx%16==8)||(angleIdx%16!=0&&HwRatio>0))?0:1        (24)
其中,nH表示当前块的高度,nW表示当前块的宽度,HwRatio表示当前块的高宽比值,angleIdx表示当前块的角度索引值。
根据式(23)和式(24),原始方案中shiftHor的计算过程采用了3次比较运算、1次或运算、1次与运算和1次除法运算,该计算过程比较复杂;而本申请实施例中shiftHor的计算过程如式(1)和式(2)所示,仅采用了2次比较运算、2次移位运算和1次减法运算,两者计算过程的比较如表4所示。由于本申请的方案中比较次数较少,而且没有运用或运算和与运算,也即本申请的方案简化了shiftHor的计算过程,降低了计算复杂度。
表4
Figure PCTCN2020083356-appb-000010
另外,针对原始方案中不同角度下分割线移动方向的选用,即结合图3A、图3B和图3C中移动方向的特征汇总,可以得到如图10A所示的原始方案中块尺寸、角度索引值和分割线移动方向的对应关系示意图。在图10A中,灰色区域均具有水平方向移动的间距大于垂直方向移动的间距,但是原始方案中有很多情况下均选用了垂直移动。
在本申请实施例中,由于采用了优化GPM分割线移动方向的技术,即针对shiftHor的计算过程进行了优化。通过分析原始方案中分割线移动方向的原理,可以发现能够利用角度正切与块的高宽比之间的关系来准确表述分割线移动方向与间距(也可以称为间隔)大小之间的关系。也就是说,本申请实施例修改了ShiftHor的判断方式,使得当水平移动分割线的间隔大于垂直移动分割线的间隔时,这时候均采用水平方向移动分割线,其他情况则采用垂直方向移动分割线。参见图10B,其示出了本申请实施例提供的一种块尺寸、角度索引值和分割线移动方向的对应关系示意图。如图10B所示,针对原始方案进行修正,使得灰色区域均采用水平方向移动,黑色区域均采用垂直方向移动;中间的白色区域采用垂直方向移动,但是白色区域内可以随便选用垂直方向或者水平方向移动,技术效果是相同的。
结合图10A和图10B,白色区域对应于角度正切(用tan()表示)与当前块的高宽比(用h/w表示)之乘积为1,或角度余切与块的高宽比相等,或角度正切与块的宽高比相等,这时候对分割线进行水平移动和垂直移动,得到的分割线间距是相同的;而灰色区域对应于角度正切与块的高宽比之积小于1,或角度余切大于块的高宽比,或角度正切小于块的宽高比,水平移动分割线的间距大于垂直移动分割线 的间距;而黑色区域与灰色区域的特征相反,即垂直移动分割线的间距大于水平移动分割线的间距。如此,基于本申请实施例的方案,依据以上特征指示,如图10B所示,利用角度索引值分段近似线性表示分割线角度的正切函数的对数值,对黑色区域均采用垂直移动分割线,灰色区域均采用水平移动分割线,白色区域可以采用垂直或水平移动分割线。
示例性地,采用如表5所示的角度正切与当前块的高宽比两者之间的乘积信息,其中,左列的4/1、2/1、1/1、1/2、1/4表示当前块的高宽比,上行的0、16、2、18、14、30等数字表示角度索引值,中间位置的数字表示两者的乘积。这里,乘积小于(或者,小于或等于)1的区域将全部采用水平移动分割线,乘积大于或等于(或者,大于)1的区域全部采用垂直移动分割线,也就实现了对当前块内分割线移动方向的确定。
表5
乘积 0\16 2\18\14\30 3\19\13\29 4\20\12\28 5\21\11\27 ---- 8/24
4/1 0 1 2 4 8 16
2/1 0 1/2 1 2 4 8
1/1 0 1/4 1/2 1 2 4
1/2 0 1/8 1/4 1/2 1 2
1/4 0 1/16 1/8 1/4 1/2 1
基于此,与原始方案相比,本申请实施例的帧间预测方法还能够修正GPM预测模式下分割线移动方向的规则,使得所有模式下对于所有块尺寸的分割线分布更加均匀,弥补了原始方案在角度索引为2、18、14、30的角度下,对正方形和竖长形的块所带来的性能丢失。例如,本申请实施例的帧间预测方法基于最新版本的VVC参考软件,在随机访问(Random Access)的条件下对JVET要求的测试序列进行粗略的初步测试,在三个图像分量(Y分量、Cb分量和Cr分量)上的编解码性能分别为-0.03%、-0.04%和-0.24%,从而能够提升编解码效率。
进一步地,针对shiftHor的计算过程,除了可以根据如上述式(2)或者式(3)所示的预设模型来计算之外,还可以采用下述的预设模型来计算。
可选地,在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
根据所述角度索引值,确定第一修正值;
利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;
对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
将所述当前块的高宽比值与预设比值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
需要说明的是,预设比值可以为16,第一修正值的计算仍然可以采用式(1)的计算。如此,当前块的高宽比值(用normalHwRatio表示)的计算如下,
normalHwRatio=(nH<<(((angleIdx%16)>8)?(16-(angleIdx%16)):(angleIdx%16)))/nW    (25)
其中,“<<”表示左移运算符。在计算得到当前块的高宽比值后,当前块的偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=normalHwRatio<16                                        (26)
其中,对于式(26)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。
示例性地,式(26)的等价形式可以为shiftHor=normalHwRatio<=16;或者,该等式的等价形式还可以为shiftHor=normalHwRatio>16?0:1;或者,该等式的等价形式也可以为shiftHor=normalHwRatio>=16?0:1。
另外,针对式(25)中的判断条件(angleIdx%16)>8,可以用(angleIdx%16)>=8替代,同时该替代方案可以适用于本申请实施例中包含有该判断条件的其它shiftHor的计算,后续不再对其进行说明。
可选地,在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;
计算所述宽度对数值与所述高度对数值之间的差值;
对所计算的差值与第一预设值进行叠加运算,获得第二修正值;
将第二修正值与第一修正值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
需要说明的是,第一预设值可以为4,第一修正值的计算仍然采用式(1)的计算。如此,偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(log2(nW)-log2(nH)+4)>(((angleIdx%16)>8)?(16-angleIdx%16):angleIdx%16)     (27)
这里,log2()表示以2为底的对数运算。如果比较的结果为真,即(log2(nW)-log2(nH)+4)大于(((angleIdx%16)>8)?(16-angleIdx%16):angleIdx%16),那么shiftHor的取值为1;否则,比较的结果为假,即shiftHor的取值为0。
另外,对于式(27)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。示例性地,一种等价形式的表示如下,
shiftHor=(log2(nW)-log2(nH)+4)>=(((angleIdx%16)>8)?(16-angleIdx%16):angleIdx%16)     (28)
可选地,在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;
对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
利用第一修正值对第二预设值进行移位处理,获得移位后的修正值;
将所述移位后的修正值与所述当前块的高宽比值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
需要说明的是,预设位移值可以为4,第二预设值可以为256,第一修正值的计算仍然采用式(1)的计算。如此,当前块的高宽比值(用HwRatio表示)的计算如下,
HwRatio=(nH<<4)/nW                                                 (29)
在计算得到当前块的高宽比值后,偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(256>>(((angleIdx%16)>8)?(16-angleIdx%16):angleIdx%16))>HwRatio       (30)
这里,“>>”表示右移运算符。对于式(30)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。示例性地,一种等价形式的表示如下,
shiftHor=(256>>(((angleIdx%16)>8)?(16-angleIdx%16):angleIdx%16))>=HwRatio      (31)
进一步地,针对第一修正值的计算,还可以通过查找表的方式来实现。在一些实施例中,所述根据所述角度索引值,计算第一修正值,可以包括:
基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;
将所查找到的对数值确定为所述第一修正值。
这里,第一查找表如表6所示,从表6中可以查找出与角度索引值对应的对数值,将所查找到的对数值确定为第一修正值。
表6
idx 0 2 3 4 5 6 8 10 11 12 13 14
disLut[idx] 8 8 8 4 4 2 0 -2 -4 -4 -8 -8
Log2TanAnglePlus3[idx] 0 1 2 3 4 5 6 5 4 3 2 1
idx 16 18 19 20 21 22 24 26 27 28 29 30
disLut[idx] -8 -8 -8 -4 -4 -2 0 2 4 4 8 8
Log2TanAnglePlus3[idx] 0 1 2 3 4 5 6 5 4 3 2 1
需要说明的是,这时候的第一修正值还可以用Log2TanAnglePlus3[idx]表示。在第一查找表中,如果角度索引值为0,可以查找出第一修正值为0;如果角度索引值为2,可以查找出第一修正值为1等等。
可选地,在一些实施例中,第一修正值用Log2TanAnglePlus3[idx]表示,那么当前块的偏移方向标识值(shiftHor)的计算如下,
shiftHor=(nH<<Log2TanAnglePlus3[angleIdx])<(nW<<3)                (32)
这里,对于式(32)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。示例性地,一种等价形式的表示如下,
shiftHor=(nH<<Log2TanAnglePlus3[angleIdx])<=(nW<<3)               (33)
可选地,在一些实施例中,第一修正值用Log2TanAnglePlus3[idx]表示,那么当前块的高宽比值(用HwRatio表示)的计算如下,
HwRatio=(nH<<Log2TanAnglePlus3[angleIdx])/nW                           (34)
在计算得到当前块的高宽比值后,当前块的偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=HwRatio<8                                               (35)
其中,对于式(35)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。
示例性地,式(35)的等价形式可以为shiftHor=HwRatio<=8;或者,该等式的等价形式还可以为shiftHor=HwRatio<=8?1:0;或者,该等式的等价形式也可以为shiftHor=HwRatio>8?0:1。
可选地,在一些实施例中,第一修正值用Log2TanAnglePlus3[idx]表示,那么当前块的高宽比值(用HwRatio表示)的计算如下,
HwRatio=(nH<<3)/nW                                               (36)
在计算得到当前块的高宽比值后,偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(128>>Log2TanAnglePlus3[angleIdx])>HwRatio                 (37)
这里,“>>”表示右移运算符。对于式(37)而言,该等式的等价形式有很多种,本申请实施例不作具体限定。示例性地,一种等价形式的表示如下,
shiftHor=(128>>Log2TanAnglePlus3[angleIdx])>=HwRatio                 (38)
进一步地,本申请实施例还可以仅考虑当前块的角度索引值,而不考虑当前块的尺寸信息来确定当前块的偏移方向标识值,即当前块内分割线的移动方向。在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
对所述角度索引值与第五预设值进行相加运算,得到相加结果;
利用所述相加结果对第六预设值进行取模运算,获得取模结果;
将所述取模结果与第七预设值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
需要说明的是,在一种可能的实现方式中,第五预设值可以为4,第六预设值可以为16,第七预设值可以为9,那么偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(angleIdx+4)%16<9                                            (39)
在另一种可能的实现方式中,第五预设值可以为11,第六预设值可以为16,第七预设值可以为7,那么偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(angleIdx+11)%16<7?0:1                                       (40)
在又一种可能的实现方式中,第五预设值可以为3,第六预设值可以为16,第七预设值可以为7,那么偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(angleIdx+3)%16<7                                            (41)
在再一种可能的实现方式中,第五预设值可以为4,第六预设值可以为16,第七预设值可以为8,那么偏移方向标识值(用shiftHor表示)的计算如下,
shiftHor=(angleIdx+4)%16>8?0:1                                        (42)
还需要说明的是,除了上述式(39)~(42)之外,本申请实施例的方法也适用于这些等式的其他等价形式。
进一步地,在本申请实施例中,只有对角和斜对角方向按照当前块的尺寸信息,其他角度方向按照角度索引值来确定当前块的偏移方向标识值,即当前块内分割线的移动方向。具体地,可以通过下述等式或者其等价形式来实现,本申请实施例不作具体限定。示例性地,
shiftHor=((angleIdx%16<4||angleIdx%16>12)||(angleIdx%8==4&&HwRatio<1))      (43)
或者,
shiftHor=((angleIdx+3)%16<7||(angleIdx%8==4&&HwRatio<1))                  (44)
或者,
shiftHor=((angleIdx%16>4&&angleIdx%16<12)||((angleIdx%8==4)&&HwRatio>=1))?0:1      (45)
或者,
shiftHor=((angleIdx+11)%16<7||((angleIdx%8==4)&&HwRatio>=1))?0:1           (46)
或者,
shiftHor=((angleIdx%16<4||angleIdx%16>12)||(angleIdx%8==4&&HwRatio<=1))       (47)
或者,
shiftHor=((angleIdx+3)%16<7||(angleIdx%8==4&&HwRatio<=1))                  (48)
或者,
shiftHor=((angleIdx%16>4&&angleIdx%16<12)||((angleIdx%8==4)&&HwRatio>1))?0:1        (49)
或者,
shiftHor=((angleIdx+11)%16<7||((angleIdx%8==4)&&HwRatio>1))?0:1             (50)
进一步地,还可以通过第二查找表的方式来确定当前块的偏移方向标识值,即当前块内分割线是在水平方向移动还是在垂直方向移动。在一些实施例中,对于S503来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;
将所查找到的位移指示值与预设判断结果进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
需要说明的是,第二查找表如表7所示,从表7中可以查找出与角度索引值对应的位移指示值,根据所查找到的位移指示值确定当前块的偏移方向标识值。
表7
idx 0 2 3 4 5 6 8 10 11 12 13 14 4
shiftLut[idx] 2 2 3 1 0 0 0 0 0 1 2 2 1
idx 16 18 19 20 21 22 24 26 27 28 29 30 20
shiftLut[idx] 2 2 2 1 0 0 0 0 0 1 2 2 1
或者,也可以是在已有表3的基础上增加位移指示项,用以选择不同的参数,即如表8所示。
表8
idx 0 2 3 4 5 6 8 10 11 12 13 14
disLut[idx] 8 8 8 4 4 2 0 -2 -4 -4 -8 -8
shiftLut[idx] 2 2 1 1 1 1 0 1 1 1 1 2
idx 16 18 19 20 21 22 24 26 27 28 29 30
disLut[idx] -8 -8 -8 -4 -4 -2 0 2 4 4 8 8
shiftLut[idx] 2 2 1 1 1 1 0 1 1 1 1 2
这里,表7或表8中元素的含义如下所示:元素0表示所有块尺寸的分割线仅垂直方向移动;元素2表示所有块尺寸的分割线仅水平方向移动;元素1表示对于扁长形和正方形的块的分割线为水平方向移动,而对于竖长形的块的分割线为垂直方向移动。
还需要说明的是,这里的偏移方向标识值(用shiftHor表示)的计算如下所示,
shiftHor=(shiftLut[angleIdx]>(HwRatio>1))                                  (51)
或者,
shiftHor=(shiftLut[angleIdx]>(Height>Width))                               (52)
也就是说,通过修改ShiftHor的判断方式,能够仅使得角度索引值为2、18、14、30和3、19、13、29的角度所对应的正方形、竖长形或者扁长形的块的分割线仅在水平方向上移动(即最靠近水平角度的那部分角度都调整为仅在水平方向上移动),而角度索引为5、21、11、27的角度对应的正方形、竖长形或者扁长形的块的分割线仅在垂直方向上移动(即最靠近垂直角度的那部分角度都调整为仅在垂直方向上移动)。
进一步地,在一些实施例中,针对水平方向和垂直方向移动分割线间隔相同的情况,无论是选择水平方向移动还是选择垂直方向移动,两者所达到的效果是等价的,针对这种情况,通过修改ShiftHor的判断方式,可以使得角度索引值为2、18、14、30的角度对应的正方形或者竖长形的块也只在水平方向上移动,同时将角度索引值为3、19、13、29所对应的角度下,对于正方形的块也调整为水平方向上移动,如图11A所示。
这时候,可以通过下述等式或者其等价形式来实现,本申请实施例不作具体限定。示例性地,
Figure PCTCN2020083356-appb-000011
或者,
Figure PCTCN2020083356-appb-000012
或者,
Figure PCTCN2020083356-appb-000013
或者,
Figure PCTCN2020083356-appb-000014
或者,
Figure PCTCN2020083356-appb-000015
或者,
Figure PCTCN2020083356-appb-000016
进一步地,在一些实施例中,还可以通过修改ShiftHor的判断方式,使得角度索引值为2、18、14、30的角度对应的正方形或者竖长形的块只在水平方向上移动,如图11B所示。
这时候,可以通过下述等式或者其等价形式来实现,本申请实施例不作具体限定。示例性地,
Figure PCTCN2020083356-appb-000017
或者,
Figure PCTCN2020083356-appb-000018
或者,
Figure PCTCN2020083356-appb-000019
或者,
Figure PCTCN2020083356-appb-000020
或者,
Figure PCTCN2020083356-appb-000021
或者,
Figure PCTCN2020083356-appb-000022
或者,
shiftHor=((angleIdx+2)%16<5||(angleIdx%16!=8&&HwRatio<=1))             (65)
或者,
shiftHor=((angleIdx+2)%16<=4||(angleIdx%16!=8&&HwRatio<=1))            (66)
或者,
shiftHor=((angleIdx+2)%16<5||(angleIdx%16!=8&&HwRatio<=1))?1:0         (67)
或者,
shiftHor=((angleIdx+2)%16<=4||(angleIdx%16!=8&&HwRatio<=1))?1:0        (68)
或者,
shiftHor=(angleIdx%16==8||((angleIdx+2)%16>4&&HwRatio>1))?0:1         (69)
或者,
shiftHor=(angleIdx%16==8)||((angleIdx+2)%16>=5&&HwRatio>1))?0:1        (70)
或者,
shiftHor=((angleIdx+13)%16>10||(angleIdx%16!=8&&HwRatio<=1))             (71)
或者,
shiftHor=((angleIdx+13)%16>=11||(angleIdx%16!=8&&HwRatio<=1))            (72)
或者,
shiftHor=((angleIdx+13)%16>10||(angleIdx%16!=8&&HwRatio<=1))?1:0        (73)
或者,
shiftHor=((angleIdx+13)%16>=11||(angleIdx%16!=8&&HwRatio<=1))?1:0       (74)
或者,
shiftHor=(angleIdx%16==8||((angleIdx+13)%16<=10&&HwRatio>1))?0:1       (75)
或者,
shiftHor=(angleIdx%16==8||((angleIdx+13)%16<11&&HwRatio>1))?0:1        (76)
进一步地,还可以将以上shiftHor的计算等效为列表实现方式。也就是说,针对shiftHor的取值,还可以通过查表方式得到,比如表9或者表10所示。
表9
Figure PCTCN2020083356-appb-000023
表10
Figure PCTCN2020083356-appb-000024
除此之外,在一些实施例中,还可以针对shiftHor的判断方式进行最小更改,即当前块的高宽比值(HwRatio)的计算与原始方案相同,即如式(23)所示,而只是针对shiftHor的计算进行修正,具体如下所示,
shiftHor=((angleIdx%16==8)||(angleIdx%16!=0&&HwRatio>1))?0:1        (77)
这里,根据式(77)的修正,也可以使得当前块分割线移动间隔的选择总体有所改善,如图11C所示。
如此,在编码器侧,计算出当前块中至少一个像素的帧间预测值之后,可以根据当前块内至少一个像素的真实值与帧间预测值之间的差值计算出至少一个像素对应的残差,并将得到的残差写入码流中;另外,在得到划分模式索引值之后,还需要将划分模式索引值(用merge_gpm_partition_idx表示)以及两个分区各自在merge列表中所选择的参考位置信息(用merge_gpm_idx0[xCb][yCb]和merge_gpm_idx1[xCb][yCb]表示)也写入码流中;然后该码流由编码器侧传输到解码器侧,以便在解码器侧解析码流。
本实施例提供了一种帧间预测方法,应用于编码器。通过确定当前块的预测模式参数;当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标 识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。这样,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
基于上述图4B的应用场景示例,参见图12,其示出了本申请实施例提供的另一种帧间预测方法的流程示意图。如图12所示,该方法可以包括:
S1201:解析码流,获取当前块的预测模式参数;
需要说明的是,该方法应用于解码器。其中,在解码器侧,一帧视频图像也可以划分为多个图像块,每个当前待解码的图像块可以为一个CB。这里,当前块具体是指视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量解码预测的解码块。
还需要说明的是,预测模式参数指示了当前块采用的预测模式以及与该预测模式相关的参数。其中,预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式等,而帧间预测模式又包括有传统帧间预测模式和GPM预测模式等。也就是说,编码器会选取最优的预测模式对当前块进行预编码,在这过程中就可以确定出当前块的预测模式,从而将相应的预测模式参数写入码流,由编码器传输到解码器。
这样,在解码器侧,通过解析码流可以获取到当前块的预测模式参数,根据所获取的预测模式参数用以确定当前块是否使用GPM预测模式。
S1202:当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
需要说明的是,如果预测模式参数指示当前块使用GPM预测模式,那么还需要继续解析码流,以获取到当前块的角度索引值和步长索引值。具体地,对于S1202来说,当预测模式参数指示使用GPM确定当前块的帧间预测值时,该方法还可以包括:
解析码流,获取所述当前块的划分模式索引值;
相应地,所述确定角度索引值和步长索引值,包括:
基于所述划分模式索引值,从预设映射表中查询与所述划分模式索引值对应的角度索引值和步长索引值;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系;
将查询得到的角度索引值和步长索引值确定为所述角度索引值和所述步长索引值。
也就是说,当预测模式参数指示当前块使用GPM预测模式时,还可以继续解析码流,以获取当前块的划分模式索引值,用merge_gpm_partition_idx表示,结合表1所示的预设映射表,可以查表得到对应的角度索引值(用angleIdx表示)和步长索引值(用distanceIdx表示)。
S1203:基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
需要说明的是,当确定出当前块之后,即可以得到当前块的尺寸信息,比如当前块的高度和宽度。这样,根据当前块的尺寸信息以及角度索引值,能够计算得到当前块的偏移方向标识值,可以用shiftHor表示。
具体地,在一些实施例中,对于S1203来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
根据所述角度索引值,确定第一修正值;
利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;
利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;
将所述移位后的高度和所述移位后的宽度进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
进一步地,在一些实施例中,在所述获得移位后的高度之后,该方法还可以包括:
对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
将所述当前块的高宽比值与预设比值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
进一步地,在一些实施例中,在所述根据所述角度索引值,确定第一修正值之后,该方法还可以包括:
对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;
计算所述宽度对数值与所述高度对数值之间的差值;
对所计算的差值与第一预设值进行叠加运算,获得第二修正值;
将所述第二修正值与所述第一修正值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
可选地,在一些实施例中,在所述根据所述角度索引值,确定第一修正值之后,该方法还可以包括:
利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;
对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
利用所述第一修正值对第二预设值进行移位处理,获得移位后的修正值;
将所述移位后的修正值与所述当前块的高宽比值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
进一步地,在一些实施例中,所述根据所述角度索引值,确定第一修正值,可以包括:
利用所述角度索引值对第三预设值进行取模运算,获得取模结果;
将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
进一步地,在一些实施例中,所述根据所述角度索引值,计算第一修正值,可以包括:
基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;
将所查找到的对数值确定为所述第一修正值。
进一步地,还可以通过查找表的方式来确定当前块的偏移方向标识值,即当前块内分割线是在水平方向移动还是在垂直方向移动。在一些实施例中,对于S1203来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;
将所查找到的位移指示值与预设判断结果进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
进一步地,本申请实施例还可以仅考虑当前块的角度索引值,而不考虑当前块的尺寸信息来确定当前块的偏移方向标识值,即当前块内分割线的移动方向。在一些实施例中,对于S1203来说,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,可以包括:
对所述角度索引值与第五预设值进行相加运算,得到相加结果;
利用所述相加结果对第六预设值进行取模运算,获得取模结果;
将所述取模结果与第七预设值进行比较;
根据比较的结果,获得所述当前块的偏移方向标识值。
进一步地,在一些实施例中,该方法还可以包括:
若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;
若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
也就是说,如果shiftHor的取值为1,那么当前块在该角度下分割线的位移方向为水平方向,即分割线将在X轴上偏移;如果shiftHor的取值为0,那么当前块在该角度下分割线的位移方向为垂直方向,即分割线将在Y轴上偏移。
S1204:基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
需要说明的是,在得到偏移方向标识值和步长索引值之后,可以确定出当前块的目标分割线以及偏移信息,用以计算当前块的帧间预测值。具体地,在一些实施例中,所述基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值,可以包括:
基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;
基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
根据所述偏移信息,计算所述当前块的权重矩阵;
利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
可以理解地,在GPM预测模式中,确定出偏移方向标识值和步长索引值之后,可以获得当前块的目标分割线,用以将当前块划分为第一分区和第二分区(即A分区和B分区)。而在确定出两个分区之后,还需要计算这两个分区各自的单向预测值。
这里,GPM预测模式可以重用已有的常规merge列表,按照奇偶校验方式构造属于GPM的单向merge列表,使得使用GPM划分后的两个分区各自的候选mv信息都是从该单向merge列表中选出的。由于编码器传输的码流中包括有A分区和B分区各自在merge列表中所选择的参考位置信息(用 merge_gpm_idx0[xCb][yCb]和merge_gpm_idx1[xCb][yCb])表示),通过解析码流还可以得到merge_gpm_idx0[xCb][yCb],表示A分区的mv在merge列表中的位置,令m=merge_gpm_idx0[xCb][yCb];通过解析码流还可以得到merge_gpm_idx1[xCb][yCb],表示B分区的mv在merge列表中的位置,由于B分区的mv在merge列表中的位置可能因为A分区先选取了靠前位置的选项,而会减小1,即令n=merge_gpm_idx1[xCb][yCb]+(merge_gpm_idx1[xCb][yCb]>=m)?1:0,n表示的就是B分区选择的mv在merge列表中的实际位置。需要说明的是,解码器侧无需进行运动估计,在获得m和n之后,后续的处理步骤与编码器侧的处理步骤相同,这里不再详述。
这样,结合上述图7所示的GPM预测处理流程的总体架构示例,在确定处当前块的第一分区的第一预测值和当前块的第二分区的第二预测值之后,由于根据偏移信息,还可以计算出当前块的权重矩阵;那么利用第一预测值、第二预测值以及所述权重矩阵对当前块内各像素点进行加权融合,可以获得当前块的帧间预测值。
本实施例提供了一种帧间预测方法,应用于解码器。通过解析码流,获取当前块的预测模式参数;当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。这样,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
基于前述实施例相同的发明构思,参见图13,其示出了本申请实施例提供的一种编码器130的组成结构示意图。如图13所示,该编码器130可以包括:第一确定单元1301、第一计算单元1302和第一预测单元1303;其中,
第一确定单元1301,配置为确定当前块的预测模式参数;
第一确定单元1301,还配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
第一计算单元1302,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
第一预测单元1303,配置为基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
在一些实施例中,当前块的尺寸信息包括所述当前块的高度和宽度;第一计算单元1302,具体配置为根据所述角度索引值,确定第一修正值;利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;将所述移位后的高度和所述移位后的宽度进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第一计算单元1302,还配置为对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;将所述当前块的高宽比值与预设比值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第一计算单元1302,还配置为对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;计算所述宽度对数值与所述高度对数值之间的差值;对所计算的差值与第一预设值进行叠加运算,获得第二修正值;将所述第二修正值与所述第一修正值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第一计算单元1302,还配置为利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;利用所述第一修正值对第二预设值进行移位处理,获得移位后的修正值;将所述移位后的修正值与所述当前块的高宽比值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第一计算单元1302,还配置为利用所述角度索引值对第三预设值进行取模运算,获得取模结果;将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
在一些实施例中,第一计算单元1302,还配置为基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;将所查找到的对数值确定为所述第一修正值。
在一些实施例中,第一计算单元1302,还配置为基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;将所查找到的位移指示值与预设判断结果进行比较;根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
在一些实施例中,第一计算单元1302,还配置为对所述角度索引值与第五预设值进行相加运算,得到相加结果;利用所述相加结果对第六预设值进行取模运算,获得取模结果;将所述取模结果与第七预设值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第一确定单元1301,还配置为若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
在一些实施例中,参见图13,编码器130还可以包括预编码单元1304和选择单元1305;其中,
预编码单元1304,配置为利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;
选择单元1305,配置为从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式确定为当前块的预测模式参数。
在一些实施例中,第一确定单元1301,还配置为确定所述当前块的划分模式;以及将划分模式索引值确定为所述划分模式在预设映射表中对应的索引序号并写入码流;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系。
在一些实施例中,第一确定单元1301,还配置为基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
第一计算单元1302,还配置为根据所述偏移信息,计算所述当前块的权重矩阵;
第一预测单元1303,具体配置为利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
可以理解地,在本申请实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于编码器130,该计算机存储介质存储有帧间预测程序,所述帧间预测程序被第一处理器执行时实现前述实施例中任一项所述的方法。
基于上述编码器130的组成以及计算机存储介质,参见图14,其示出了本申请实施例提供的编码器130的具体硬件结构示例,可以包括:第一通信接口1401、第一存储器1402和第一处理器1403;各个组件通过第一总线系统1404耦合在一起。可理解,第一总线系统1404用于实现这些组件之间的连接通信。第一总线系统1404除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图14中将各种总线都标为第一总线系统1404。其中,
第一通信接口1401,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器1402,用于存储能够在第一处理器1403上运行的计算机程序;
第一处理器1403,用于在运行所述计算机程序时,执行:
确定当前块的预测模式参数;
当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
可以理解,本申请实施例中的第一存储器1402可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器1402旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器1403可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器1403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器1403可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器1402,第一处理器1403读取第一存储器1402中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器1403还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种编码器,该编码器可以包括第一确定单元、第一计算单元和第一预测单元。在该编码器中,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
基于前述实施例相同的发明构思,参见图15,其示出了本申请实施例提供的一种解码器150的组成结构示意图。如图15所示,该解码器150可以包括:解析单元1501、第二确定单元1502、第二计算单元1503和第二预测单元1504;其中,
解析单元1501,配置为解析码流,获取当前块的预测模式参数;
第二确定单元1502,配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
第二计算单元1503,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
第二预测单元1504,配置为基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
在一些实施例中,解析单元1501,还配置为解析码流,获取所述当前块的划分模式索引值;
相应地,第二确定单元1502,具体配置为基于所述划分模式索引值,从预设映射表中查询与所述划分模式索引值对应的角度索引值和步长索引值;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系;将查询得到的角度索引值和步长索引值确定为所述当前块的角度索引值和步长索引值。
在一些实施例中,当前块的尺寸信息包括所述当前块的高度和宽度;第二计算单元1503,具体配置为根据所述角度索引值,确定第一修正值;利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;将所述移位后的高度和所述移位后的宽度进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第二计算单元1503,还配置为对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;将所述当前块的高宽比值与预设比值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第二计算单元1503,还配置为对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;计算所述宽度对数值与所述高度对数值之间的差值;对所计算的差值与第一预设值进行叠加运算,获得第二修正值;将所述第二修正值与所述第一修正值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第二计算单元1503,还配置为利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;利用所述第一修正值对第二预设值进行移位处理,获得移位后的修正值;将所述移位后的修正值与所述当前块的高宽比值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第二计算单元1503,还配置为利用所述角度索引值对第三预设值进行取模运算,获得取模结果;将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
在一些实施例中,第二计算单元1503,还配置为基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;将所查找到的对数值确定为所述第一修正值。
在一些实施例中,第二计算单元1503,还配置为基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;将所查找到的位移指示值与预设判断结果进行比较;根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
在一些实施例中,第二计算单元1503,还配置为对所述角度索引值与第五预设值进行相加运算,得到相加结果;利用所述相加结果对第六预设值进行取模运算,获得取模结果;将所述取模结果与第七预设值进行比较;根据比较的结果,获得所述当前块的偏移方向标识值。
在一些实施例中,第二确定单元1502,还配置为若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
在一些实施例中,第二确定单元1502,还配置为基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
第二计算单元1503,还配置为根据所述偏移信息,计算所述当前块的权重矩阵;
第二预测单元1504,具体配置为利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例提供了一种计算机存储介质,应用于解码器150,该计算机存储介质存储有帧间预测程序,所述帧间预测程序被第二处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器150的组成以及计算机存储介质,参见图16,其示出了本申请实施例提供的解码器150的具体硬件结构示例,可以包括:第二通信接口1601、第二存储器1602和第二处理器1603;各个组件通过第二总线系统1604耦合在一起。可理解,第二总线系统1604用于实现这些组件之间的连接通信。第二总线系统1604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图16中将各种总线都标为第二总线系统1604。其中,
第二通信接口1601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1602,用于存储能够在第二处理器1603上运行的计算机程序;
第二处理器1603,用于在运行所述计算机程序时,执行:
解析码流,获取当前块的预测模式参数;
当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
可选地,作为另一个实施例,第二处理器1603还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器1602与第一存储器1402的硬件功能类似,第二处理器1603与第一处理器1403的硬件功能类似;这里不再详述。
本实施例提供了一种解码器,该解码器可以包括解析单元、第二确定单元、第二计算单元和第二预测单元。在该解码器中,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,在当前块的预测模式参数指示使用GPM确定当前块的帧间预测值时,可以利用预设模型计算当前块的偏移方向标识值,进而确定所述当前块的帧间预测值。这样,利用预设模型简化了偏移方向标识值的计算过程,降低了计算复杂度;另外,还能够修正GPM预测模式下部分角度下不同尺寸块内分割线的移动方向,使得针对所有块尺寸的分割线分布更加均匀稀疏,解决了GPM预测模式下分割线分布过于密集而导致性能丢失的问题,从而提高了编解码性能,以达到提升编解码效率的目的。

Claims (30)

  1. 一种帧间预测方法,应用于编码器,所述方法包括:
    确定当前块的预测模式参数;
    当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
    基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
    基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
  2. 根据权利要求1所述的方法,其中,所述当前块的尺寸信息包括所述当前块的高度和宽度;所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,包括:
    根据所述角度索引值,确定第一修正值;
    利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;
    利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;
    将所述移位后的高度和所述移位后的宽度进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  3. 根据权利要求2所述的方法,其中,在所述获得移位后的高度之后,所述方法还包括:
    对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
    将所述当前块的高宽比值与预设比值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  4. 根据权利要求2所述的方法,其中,在所述根据所述角度索引值,确定第一修正值之后,所述方法还包括:
    对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;
    计算所述宽度对数值与所述高度对数值之间的差值;
    对所计算的差值与第一预设值进行叠加运算,获得第二修正值;
    将所述第二修正值与所述第一修正值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  5. 根据权利要求2所述的方法,其中,在所述根据所述角度索引值,确定第一修正值之后,所述方法还包括:
    利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;
    对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
    利用所述第一修正值对第二预设值进行移位处理,获得移位后的修正值;
    将所述移位后的修正值与所述当前块的高宽比值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  6. 根据权利要求2至5任一项所述的方法,其中,所述根据所述角度索引值,确定第一修正值,包括:
    利用所述角度索引值对第三预设值进行取模运算,获得取模结果;
    将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
  7. 根据权利要求2至5任一项所述的方法,其中,所述根据所述角度索引值,计算第一修正值,包括:
    基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;
    将所查找到的对数值确定为所述第一修正值。
  8. 根据权利要求1所述的方法,其中,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,包括:
    基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;
    将所查找到的位移指示值与预设判断结果进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
  9. 根据权利要求1所述的方法,其中,所述基于所述当前块的尺寸信息以及所述角度索引值,利 用预设模型确定所述当前块的偏移方向标识值,包括:
    对所述角度索引值与第五预设值进行相加运算,得到相加结果;
    利用所述相加结果对第六预设值进行取模运算,获得取模结果;
    将所述取模结果与第七预设值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  10. 根据权利要求1至9任一项所述的方法,其中,所述方法还包括:
    若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;
    若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
  11. 根据权利要求1所述的方法,其中,所述确定当前块的预测模式参数,包括:
    利用多种预测模式对所述当前块进行预编码处理,获得每一种预测模式对应的率失真代价值;
    从所获得的多个率失真代价值中选择最小率失真代价值,将所述最小率失真代价值对应的预测模式确定为当前块的预测模式参数。
  12. 根据权利要求1所述的方法,其中,当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,所述方法还包括:
    确定所述当前块的划分模式;
    将划分模式索引值确定为所述划分模式在预设映射表中对应的索引序号并写入码流;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系。
  13. 根据权利要求1所述的方法,其中,所述基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测,包括:
    基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;
    基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
    根据所述偏移信息,计算所述当前块的权重矩阵;
    利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
  14. 一种帧间预测方法,应用于解码器,所述方法包括:
    解析码流,获取当前块的预测模式参数;
    当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
    基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
    基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
  15. 根据权利要求14所述的方法,其中,当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测时,所述方法还包括:
    解析码流,获取所述当前块的划分模式索引值;
    相应地,所述确定角度索引值和步长索引值,包括:
    基于所述划分模式索引值,从预设映射表中查询与所述划分模式索引值对应的角度索引值和步长索引值;其中,所述预设映射表用于指示划分模式索引值、角度索引值和步长索引之间的对应关系;
    将查询得到的角度索引值和步长索引值确定为所述角度索引值和所述步长索引值。
  16. 根据权利要求14所述的方法,其中,所述当前块的尺寸信息包括所述当前块的高度和宽度;所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,包括:
    根据所述角度索引值,确定第一修正值;
    利用所述第一修正值对所述当前块的高度进行移位处理,获得移位后的高度;
    利用预设位移值对所述当前块的宽度进行移位处理,获得移位后的宽度;
    将所述移位后的高度和所述移位后的宽度进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  17. 根据权利要求16所述的方法,其中,在所述获得移位后的高度之后,所述方法还包括:
    对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
    将所述当前块的高宽比值与预设比值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  18. 根据权利要求16所述的方法,其中,在所述根据所述角度索引值,确定第一修正值之后,所述方法还包括:
    对所述当前块的宽度和高度分别进行对数计算,获得宽度对数值和高度对数值;
    计算所述宽度对数值与所述高度对数值之间的差值;
    对所计算的差值与第一预设值进行叠加运算,获得第二修正值;
    将所述第二修正值与所述第一修正值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  19. 根据权利要求16所述的方法,其中,在所述根据所述角度索引值,确定第一修正值之后,所述方法还包括:
    利用预设位移值对所述当前块的高度进行移位处理,获得移位后的高度;
    对所述移位后的高度与所述当前块的宽度进行比值运算,获得所述当前块的高宽比值;
    利用所述第一修正值对第二预设值进行移位处理,获得移位后的修正值;
    将所述移位后的修正值与所述当前块的高宽比值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  20. 根据权利要求16至19任一项所述的方法,其中,所述根据所述角度索引值,确定第一修正值,包括:
    利用所述角度索引值对第三预设值进行取模运算,获得取模结果;
    将所述取模结果与第四预设值进行比较,根据比较的结果确定所述第一修正值。
  21. 根据权利要求16至19任一项所述的方法,其中,所述根据所述角度索引值,计算第一修正值,包括:
    基于所述角度索引值,从第一查找表中查找与所述角度索引值对应的对数值;
    将所查找到的对数值确定为所述第一修正值。
  22. 根据权利要求14所述的方法,其中,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,包括:
    基于所述角度索引值,从第二查找表中查找与所述角度索引值对应的位移指示值;
    将所查找到的位移指示值与预设判断结果进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值;其中,所述预设判断结果是通过判断所述当前块的高度是否大于宽度所得到的。
  23. 根据权利要求14所述的方法,其中,所述基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值,包括:
    对所述角度索引值与第五预设值进行相加运算,得到相加结果;
    利用所述相加结果对第六预设值进行取模运算,获得取模结果;
    将所述取模结果与第七预设值进行比较;
    根据比较的结果,获得所述当前块的偏移方向标识值。
  24. 根据权利要求14至23任一项所述的方法,其中,所述方法还包括:
    若所述偏移方向标识值等于1,则确定所述当前块在所述角度下分割线的位移方向为水平方向;
    若所述偏移方向标识值等于0,则确定所述当前块在所述角度下分割线的位移方向为垂直方向。
  25. 根据权利要求14所述的方法,其中,所述基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值,包括:
    基于所述偏移方向标识值和所述步长索引值,确定所述当前块的目标分割线以及偏移信息;
    基于所述目标分割线对所述当前块的划分,确定所述当前块的第一分区的第一预测值和所述当前块的第二分区的第二预测值;
    根据所述偏移信息,计算所述当前块的权重矩阵;
    利用所述第一预测值、所述第二预测值以及所述权重矩阵对所述当前块内各像素点进行加权运算,获得所述当前块的帧间预测值。
  26. 一种编码器,所述编码器包括第一确定单元、第一计算单元和第一预测单元;其中,
    所述第一确定单元,配置为确定当前块的预测模式参数;
    所述第一确定单元,还配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定所述当前块内分割线对应的角度和步长,并将角度索引值和步长索引值分别设置为所述角度和所述步长在预设映射表中对应的索引序号;
    所述第一计算单元,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线 之间的位移方向;
    所述第一预测单元,配置为基于所述偏移方向标识值和所述步长索引值,对所述当前块进行帧间预测。
  27. 一种编码器,所述编码器包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述的方法。
  28. 一种解码器,所述解码器包括解析单元、第二确定单元、第二计算单元和第二预测单元;其中,
    所述解析单元,配置为解析码流,获取当前块的预测模式参数;
    所述第二确定单元,配置为当所述预测模式参数指示使用几何划分预测模式GPM确定当前块的帧间预测值时,确定角度索引值和步长索引值;其中,所述角度索引值和所述步长索引值表示所述当前块内分割线对应的角度和步长在预设映射表中对应的索引序号;
    所述第二计算单元,配置为基于所述当前块的尺寸信息以及所述角度索引值,利用预设模型确定所述当前块的偏移方向标识值;其中,所述偏移方向标识值用于指示所述当前块在所述角度下不同分割线之间的位移方向;
    所述第二预测单元,配置为基于所述偏移方向标识值和所述步长索引值,确定所述当前块的帧间预测值。
  29. 一种解码器,所述解码器包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求14至25任一项所述的方法。
  30. 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至13任一项所述的方法、或者被第二处理器执行时实现如权利要求14至25任一项所述的方法。
PCT/CN2020/083356 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器以及存储介质 Ceased WO2021196228A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP20928250.8A EP4131956A4 (en) 2020-04-03 2020-04-03 Inter-frame prediction method, encoder, decoder and storage medium
CN202080098554.3A CN115280778A (zh) 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器以及存储介质
PCT/CN2020/083356 WO2021196228A1 (zh) 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器以及存储介质
TW110109406A TWI867184B (zh) 2020-04-03 2021-03-16 幀間預測方法、編碼器、解碼器以及儲存媒介
US17/958,420 US12231649B2 (en) 2020-04-03 2022-10-02 Inter prediction method, encoder, decoder and storage medium
US19/009,735 US20250142077A1 (en) 2020-04-03 2025-01-03 Inter prediction method, encoder, decoder and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/083356 WO2021196228A1 (zh) 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器以及存储介质

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US17/958,420 Continuation US12231649B2 (en) 2020-04-03 2022-10-02 Inter prediction method, encoder, decoder and storage medium
US19/009,735 Continuation US20250142077A1 (en) 2020-04-03 2025-01-03 Inter prediction method, encoder, decoder and storage medium

Publications (1)

Publication Number Publication Date
WO2021196228A1 true WO2021196228A1 (zh) 2021-10-07

Family

ID=77928925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/083356 Ceased WO2021196228A1 (zh) 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器以及存储介质

Country Status (5)

Country Link
US (2) US12231649B2 (zh)
EP (1) EP4131956A4 (zh)
CN (1) CN115280778A (zh)
TW (1) TWI867184B (zh)
WO (1) WO2021196228A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422781A (zh) * 2022-03-29 2022-04-29 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4162682A4 (en) * 2020-06-03 2024-02-21 Beijing Dajia Internet Information Technology Co., Ltd. GEOMETRIC PARTITION MODE WITH MOTION VECTOR REFINEMENT
KR102788914B1 (ko) * 2020-06-29 2025-03-31 삼성전자주식회사 무선 통신 시스템에서 데이터의 송수신을 제어하기 위한 방법 및 장치
US20230319271A1 (en) * 2020-07-20 2023-10-05 Electronics And Telecommunications Research Institute Method, apparatus, and recording medium for encoding/decoding image by using geometric partitioning
WO2025147176A1 (ko) * 2024-01-05 2025-07-10 주식회사 케이티 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189272A1 (en) * 2013-12-27 2015-07-02 National Chiao Tung University Method for encoding/decoding video by oblong intra prediction
CN108293132A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 图像编码方法和装置以及图像解码方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519005B2 (en) * 1999-04-30 2003-02-11 Koninklijke Philips Electronics N.V. Method of concurrent multiple-mode motion estimation for digital video
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
EP2047687B1 (en) * 2006-08-02 2018-05-16 Thomson Licensing DTV Adaptive geometric partitioning for video encoding
CN101731012B (zh) * 2007-04-12 2013-10-16 汤姆森特许公司 用于视频编码器中的快速几何模式判定的方法和设备
CN101822056B (zh) 2007-10-12 2013-01-02 汤姆逊许可公司 用于视频编解码几何划分的双向预测模式划分的方法和装置
KR101579394B1 (ko) * 2007-10-16 2015-12-21 톰슨 라이센싱 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치
EP2093699A1 (en) * 2008-02-19 2009-08-26 British Telecommunications Public Limited Company Movable object status determination
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
US20120147961A1 (en) * 2010-12-09 2012-06-14 Qualcomm Incorporated Use of motion vectors in evaluating geometric partitioning modes
PL4135322T3 (pl) * 2011-06-23 2024-11-25 Huawei Technologies Co., Ltd. Urządzenie do dekodowania przesunięcia, urządzenie do kodowania przesunięcia, urządzenie do filtrowania obrazu i struktura danych
SG11201502194QA (en) * 2012-09-21 2015-04-29 Nokia Technologies Oy Method and apparatus for video coding
US9532057B2 (en) * 2012-12-28 2016-12-27 Qualcomm Incorporated Inter-layer prediction using sample-adaptive adjustments for bit depth scalable video coding
WO2020003265A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions of usage of luts
CN113613013B (zh) * 2019-06-21 2022-09-09 华为技术有限公司 视频解码设备、由解码设备实现的译码方法和解码器
CN121691691A (zh) * 2019-08-15 2026-03-17 阿里巴巴集团控股有限公司 用于视频编解码的块划分方法
US11570434B2 (en) * 2019-08-23 2023-01-31 Qualcomm Incorporated Geometric partition mode with harmonized motion field storage and motion compensation
US11405619B2 (en) * 2019-09-23 2022-08-02 Qualcomm Incorporated Geometric partition mode with simplified motion field storage and motion compensation in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189272A1 (en) * 2013-12-27 2015-07-02 National Chiao Tung University Method for encoding/decoding video by oblong intra prediction
CN108293132A (zh) * 2015-11-24 2018-07-17 三星电子株式会社 图像编码方法和装置以及图像解码方法和装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BROSS B; CHEN J; LIU S; Y-K WANG: "Versatile Video Coding (Draft 8)", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q2001, 18 January 2020 (2020-01-18), Brussels BE, pages 1 - 489, XP030224280 *
CHUBACH O; Y-L HSIAO; C-Y CHEN; T-D CHUANG; Y-W HUANG; S-M LEI (MEDIATEK): "CE4-related: Reducing GEO modes", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-Q0189, 31 December 2019 (2019-12-31), Brussels BE, pages 1 - 6, XP030222841 *
ESENLIK (HUAWEI) S; GAO (HUAWEI) H; FILIPPOV A; RUFITSKIY V; KOTRA A M; WANG B; ALSHINA (HUAWEI) E; BLÄSER (RWTH-AACHEN) M; SAUER : "Non-CE4: Geometrical partitioning for inter blocks", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-O0489, 27 June 2019 (2019-06-27), Gothenburg SE, pages 1 - 9, XP030219715 *
GAO (HUAWEI) H; ESENLIK (HUAWEI) S; ALSHINA (HUAWEI) E; KOTRA (HUAWEI) A M; WANG (HUAWEI) B; BLÄSER (RWTH-AACHEN) M; SAUER (RWTH A: "CE4: CE4-1.1, CE4-1.2 and CE4-1.14: Geometric Merge Mode (GEO)", 128. MPEG MEETING; 20191007 - 20191011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, 17 September 2019 (2019-09-17), Geneva CH, pages 1 - 459, XP030205863 *
See also references of EP4131956A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422781A (zh) * 2022-03-29 2022-04-29 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质

Also Published As

Publication number Publication date
EP4131956A4 (en) 2023-05-03
TWI867184B (zh) 2024-12-21
US12231649B2 (en) 2025-02-18
US20230080546A1 (en) 2023-03-16
US20250142077A1 (en) 2025-05-01
CN115280778A (zh) 2022-11-01
EP4131956A1 (en) 2023-02-08
TW202139707A (zh) 2021-10-16

Similar Documents

Publication Publication Date Title
CN114586366B (zh) 帧间预测方法、编码器、解码器及存储介质
WO2021196228A1 (zh) 帧间预测方法、编码器、解码器以及存储介质
CN116601951A (zh) 预测方法、编码器、解码器以及存储介质
WO2021134635A1 (zh) 变换方法、编码器、解码器以及存储介质
CN114845101B (zh) 用于视频编解码的系统和方法
WO2021238396A1 (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
US12278984B2 (en) Inter prediction method based on motion information mapping tables of partitions in geometrical partition mode, encoder, decoder, and storage medium
WO2021203924A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
CA3113787C (en) Decoding prediction method, apparatus and computer storage medium which use reference samples adjacent to at least one side of decoding block
WO2022067805A1 (zh) 图像预测方法、编码器、解码器以及计算机存储介质
TW202139694A (zh) 一種幀間預測方法、編碼器、解碼器及儲存媒介
CN118592025A (zh) 解码方法、编码方法、解码器、编码器和编解码系统
CN116868571A (zh) 对于帧间预测的改进的局部光照补偿
CN121713476A (zh) 基于外推滤波器的预测模式的方法和设备
WO2021258841A1 (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
CN116711304A (zh) 预测方法、编码器、解码器以及存储介质
CN110958452B (zh) 视频解码方法及视频解码器
US20230045687A1 (en) Inter Prediction Method, Encoder, Decoder, and Storage Medium
WO2024055155A1 (zh) 一种编解码方法、装置、编码器、解码器及存储介质
WO2023197189A1 (zh) 编解码方法、装置、编码设备、解码设备以及存储介质
US20260106969A1 (en) Coding method, decoding method, bitstream, coder, decoder and storage medium
US20250280108A1 (en) Encoding method, decoding method, code stream, encoders, decoders, and storage medium
WO2020140213A1 (zh) 预测方向的确定方法、解码器以及计算机存储介质
JP2025512022A (ja) 符号化及び復号化方法、装置、符号化機器、復号化機器及び記憶媒体
WO2025213394A1 (zh) 编解码方法、编码器、解码器以及存储介质

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020928250

Country of ref document: EP

Effective date: 20221024

NENP Non-entry into the national phase

Ref country code: DE