Video encoding method and device

By selecting a reference pixel group from a plurality of candidate neighboring pixel groups in the video encoding technology and generating an intra prediction sub based on the intra prediction mode, the problem of low selection efficiency of reference pixel group in the intra prediction process in the prior art is solved, and more efficient and high-quality video encoding is achieved.

CN114615492BActive Publication Date: 2025-05-09HFI INNOVATION INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210023283.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-03-14
Filing Date
2017-03-17
Publication Date
2025-05-09
Estimated Expiration
2037-03-17

AI Technical Summary

Technical Problem

In the intra prediction process of existing video encoding technologies, it is difficult to effectively select reference pixel groups, which affects encoding efficiency and quality.

Method used

By receiving input data associated with the current block in the image frame, a reference pixel group is selected from a plurality of candidate adjacent pixel groups adjacent to the edge of the current block, an intra prediction sub of the current block is generated based on the selected reference pixel group and the intra prediction mode of the current block, and encoded or decoded.

Benefits of technology

It improves the accuracy and efficiency of intra prediction, reduces redundancy in encoded video data, and improves the overall performance of video encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114615492B_ABST
    Figure CN114615492B_ABST
Patent Text Reader

Abstract

The present invention provides a video encoding and decoding method and device. The method includes receiving input data associated with a current block in an image frame, selecting a reference pixel group from a plurality of candidate adjacent pixel groups adjacent to an edge of the current block, generating an intra-frame predictor of the current block based on the selected reference pixel group and an intra-frame prediction mode of the current block, and encoding or decoding the current block based on the intra-frame predictor to output encoded video data or a decoded block. Each candidate adjacent pixel group is arranged in parallel with an edge of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references

[0002] The present invention claims priority to U.S. Provisional Patent Application No. 62 / 309,991, filed on March 18, 2016, and entitled “Methods for intra prediction in image and video compression,” and claims priority to U.S. Provisional Patent Application No. 62 / 359,822, filed on July 8, 2016, and entitled “Methods for intra prediction with multiple reference lines in image and video compression,” the contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present invention relates to video coding. In particular, the present invention relates to utilizing prediction techniques in video coding and decoding systems. Background Art

[0004] The background description provided herein is for the purpose of generally presenting the context of the present disclosure. In the present disclosure presented by the inventor, the contents described in the background section to a large extent, like the contents described in the embodiments, cannot be regarded as prior art before the filing date. In other words, it is neither explicitly nor implicitly admitted as prior art of the present invention.

[0005] Many video coding standards include dividing an image frame of an input video into one or more coding units. Typically, a coding unit may further include at least one prediction unit (or block) corresponding to the luminance and chrominance components of the image frame. When encoding an original image of a block, the original image of the block may be divided into a predictable portion (also referred to as a predictor) and a residual portion of the block according to a predetermined video coding standard. When decoding the block, a reconstructed image of the block may be obtained by generating and combining the predictor and the residual portion of the block according to the same predetermined video coding standard.

[0006] In some applications, the predictor of a block can be generated based on images of other blocks and / or other frames. This prediction scheme aims to reduce temporal redundancy in the encoded video data and is also called inter prediction. In some applications, the predictor of a block can be generated by extrapolating samples of neighboring pixels based on a selected one of a plurality of predetermined prediction modes. This prediction scheme can reduce spatial redundancy in the encoded video data and is also called intra prediction. Summary of the invention

[0007] Aspects of the present disclosure provide a video encoding method. The method includes receiving input data associated with a current block in an image frame, selecting a reference pixel group from a plurality of candidate adjacent pixel groups adjacent to an edge of the current block, generating an intra-frame predictor of the current block based on the selected reference pixel group and an intra-frame prediction mode of the current block, and encoding or decoding the current block based on the intra-frame predictor to output encoded video data or a decoded block. Each candidate adjacent pixel group is arranged in parallel with an edge of the current block.

[0008] In one embodiment, the method may further include extracting information indicating the selected reference pixel group from the input data, or including the information of the selected reference pixel group in the encoded video data. In another embodiment, the method may further include deriving the selected reference pixel group based on the intra prediction mode or the shape of the current block.

[0009] In addition, the method may further include selecting a second reference pixel group from a plurality of candidate adjacent pixel groups. The selected reference pixel group defines a first reference line, and the selected second reference pixel group defines a second reference line. The prediction direction of the intra-frame prediction mode of the current block defines a plurality of prediction reference lines. Generating an intra-frame predictor may include: determining a first sample value based on the selected reference pixel group, the first sample value corresponding to a first position where the first reference line and one of the plurality of prediction reference lines intersect, determining a second sample value based on the selected second reference pixel group, the second sample value corresponding to a second position where the second reference line and one of the plurality of prediction reference lines intersect, and calculating a pixel value of the intra-frame predictor overlapping one of the plurality of prediction reference lines based on a difference between the first sample value and the second sample value and one of the first sample value and the second sample value.

[0010] In one embodiment, determining the first sample value comprises interpolating the first sample value between pixel values ​​of at least two pixels of the selected reference pixel group adjacent to the first position. In one embodiment, selecting the reference pixel group comprises: selecting a candidate neighboring pixel group from the plurality of candidate neighboring pixel groups that is closest to an edge of the current block.

[0011] In one example, calculating the pixel value of the intra predictor may be based on the equation: P=Ref1+W·(Ref1-Ref2), where P is the pixel value of the intra predictor, Ref1 is the first sample value, Ref2 is the second sample value, and W is a multiplication factor.

[0012] In addition, the method may include selecting K reference pixel groups from a plurality of candidate adjacent pixel groups, the K reference pixel groups including the selected reference pixel group, K being a positive integer greater than 1. The selected K reference pixel groups define K reference lines respectively. The prediction direction of the intra prediction mode of the current block defines a plurality of prediction reference lines. Generating an intra predictor includes determining K sample values ​​respectively based on the selected K reference pixel groups, and calculating a pixel value of the intra predictor overlapping with one of the plurality of prediction reference lines based on the K sample values. Each of the K sample values ​​corresponds to a position respectively, which is a position where each reference line intersects with one of the plurality of prediction reference lines.

[0013] In at least one embodiment, generating the intra predictor includes determining K sample values ​​based on the selected K reference pixel groups, respectively, and calculating a pixel value of the intra predictor overlapping one of the prediction reference lines based on the K sample values.

[0014] In addition, the method may further include deriving an intra prediction mode of the current block based on the selected reference pixel group.

[0015] One aspect of the present disclosure may also provide a video encoding device including a processing circuit. The processing circuit is configured to receive input data associated with a current block in an image frame, select a reference pixel group from a plurality of candidate adjacent pixel groups adjacent to an edge of the current block, generate an intra-frame predictor of the current block based on the selected reference pixel group and an intra-frame prediction mode of the current block, and encode or decode the current block based on the intra-frame predictor to output encoded video data or a decoded block. Each candidate adjacent pixel group is arranged in parallel with an edge of the current block.

[0016] Aspects of the present disclosure further provide a non-transitory computer readable medium storing program instructions for causing a processing circuit of a device to perform a video encoding method. The method includes receiving input data associated with a current block in an image frame, selecting a reference pixel group from a plurality of candidate neighboring pixel groups adjacent to an edge of the current block, generating an intra-frame predictor of the current block based on the selected reference pixel group and an intra-frame prediction mode of the current block, and encoding or decoding the current block based on the intra-frame predictor to output encoded video data or a decoded block. Each candidate neighboring pixel group is arranged in parallel with an edge of the current block. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Various embodiments of the present disclosure, presented as examples, will be described in detail with reference to the following drawings, in which like reference numerals represent like components, and in which:

[0018] Figure 1An exemplary functional block diagram of a video encoding and decoding system according to an embodiment of the present disclosure is shown;

[0019] Figure 2 A schematic diagram showing selecting at least one first reference pixel group from a plurality of first candidate neighboring pixel groups adjacent to a first edge of a current block and selecting at least one second reference pixel group from a plurality of second candidate neighboring pixel groups adjacent to a second edge of the current block for generating an intra predictor of the current block according to an exemplary embodiment of the present disclosure;

[0020] Figure 3 A schematic diagram showing a method of calculating a pixel value of an intra-frame predictor using two selected reference pixel groups according to an exemplary embodiment of the present disclosure;

[0021] Figure 4 A schematic diagram showing a method of selecting a reference pixel group from a plurality of candidate neighboring pixel groups to derive an intra prediction mode of a current block according to an exemplary embodiment of the present disclosure;

[0022] Figure 5 The embodiment according to the present disclosure is shown Figure 1 Functional block diagram of an exemplary decoding circuit in a video encoding and decoding system;

[0023] Figure 6 The embodiment according to the present disclosure is shown Figure 1 An exemplary functional block diagram of a processing circuit for video encoding in a video encoding and decoding system in;

[0024] Figure 7 The use of an embodiment according to the present disclosure is shown as follows Figure 5 A flowchart of a video decoding process of a processing circuit for video decoding such as a processing circuit in FIG.

[0025] Figure 8 The use of an embodiment according to the present disclosure is shown as follows Figure 6 Flowchart of a video encoding process for a processing circuit for video encoding, such as a processing circuit in FIG. DETAILED DESCRIPTION

[0026] Figure 1An exemplary functional block diagram of a video codec system 100 according to an embodiment of the present disclosure is shown. The video codec system 100 includes a processing circuit for video decoding (i.e., a decoding circuit 110) and a processing circuit for video encoding (i.e., an encoding circuit 120). The encoding circuit 120 receives an input frame 106 as input data, and generates encoded video data 102 by encoding the input frame 106. The decoding circuit 110 receives the encoded video data 102 as input data, and generates an output frame 104 by decoding the encoded video data 102. The video codec system 100 can be implemented by one or more video codec devices, and the video encoding device may include the decoding circuit 110, the encoding circuit 120, or the decoding circuit 110 and the encoding circuit 120.

[0027] The decoding circuit 110 may include at least an intra prediction module 112, a reference pixel set selector 114, and a decoding controller 116. The intra prediction module 112 may generate an intra prediction sub-block (or current block) to be decoded in an image frame using intra prediction. The reference pixel set selector 114 may select at least one horizontal reference pixel set from a plurality of first candidate adjacent pixel sets adjacent to and arranged in parallel with the upper edge of the current block and / or at least one vertical reference pixel set from a plurality of second candidate adjacent pixel sets adjacent to and arranged in parallel with the left edge of the current block. The decoding controller 116 may monitor the decoding of the encoded video data 102, including determining whether to use the intra prediction module 112 to decode the current block and / or controlling the operation of the intra prediction module 112 and the reference pixel set selector 114.

[0028] In operation, the decoding controller 116 receives the encoded video data 102 associated with the current block and extracts therefrom information about whether to use the intra prediction module 112, the corresponding intra prediction mode, and / or the selected reference pixel group for generating the intra predictor of the current block. The selected reference pixel group can be used by the intra prediction module 112 to generate the intra predictor, to derive gradient filtering parameters for filtering the original intra predictor, to calculate the pixel value of the bottom right pixel of the intra predictor, to derive the intra prediction mode for generating the intra predictor, or any combination thereof, etc.

[0029] The selected reference pixel group may be explicitly specified in the encoded video data 102, or derived based on the encoded video data 102 and a predetermined video coding standard. The selected reference pixel group may be derived based on an intra prediction mode, a size or a shape of the current block. In some examples, when the current block is a chroma block, the selected reference pixel group may be explicitly provided, derived based on a selected reference pixel group of a luma block corresponding to the chroma block, or inferred as a neighboring reference pixel group immediately adjacent to an edge of the chroma block.

[0030] The selected reference pixel group may be sent using block-level syntax elements. In addition, the selected reference pixel group may be sent only when the size of the current block is greater than a predetermined threshold. In some examples, the size of the current block may be measured based on the pixel area of ​​the block, the size of the corresponding edge of the block, the size of the longer edge of the block, and / or the size of the shorter edge of the block. In some examples, selecting one or more reference pixel groups from multiple candidate adjacent sets as described in the present application may only apply to the edges of luminance blocks or chrominance blocks having a size greater than a threshold, while the edges of chrominance blocks or chrominance blocks having a size equal to or less than a threshold may automatically use the reference pixel group closest to the corresponding edge.

[0031] The intra-frame prediction mode may also be explicitly specified in the encoded video data 102, or derived based on the encoded video data 102 and a predetermined video coding standard. Any applicable method may be used to derive the intra-frame prediction mode. In at least one example, the intra-frame prediction mode may be derived based on a decoded portion of an image frame as a reference template and a selected reference pixel group.

[0032] The encoding circuit 120 may include at least an intra estimation module 121, an intra prediction module 122, a reference pixel group selector 124, and an encoding controller 126. The intra estimation module 121 may analyze the input frame 106 and determine prediction parameters using intra prediction for encoding a block (or current block) in an image frame. The prediction parameters may include an intra prediction mode for generating an intra predictor of the current block and / or a selected reference pixel group for generating the intra predictor. The reference pixel group selector 124 may, together with the intra estimation module 121, select at least one horizontal reference pixel group from a plurality of first candidate neighboring pixel groups adjacent to and arranged in parallel with the upper edge of the current block and / or at least one vertical reference pixel from a plurality of second candidate neighboring pixel groups adjacent to and arranged in parallel with the left edge of the current block.

[0033] The prediction parameters selected or identified by the intra estimation module 121 can be forwarded to the encoding controller 126, and the encoding controller 126 can determine whether to encode the current block using intra prediction, and if the current block is to be encoded using intra prediction, encode the prediction parameters as part of the encoded video data 102.

[0034] The prediction parameters selected or identified by the intra estimation module 121 may also be forwarded to the intra prediction module 122 to generate an intra predictor for the current block. The intra prediction module 122 may generate an intra predictor for the current block for further encoding processing in a manner similar to the operation of the intra prediction module 112. In addition, the encoding controller 126 may monitor the encoding of the current block, including determining whether to use the intra estimation module 121 and the intra prediction module 122 to encode the current block, and / or control the operation of the intra prediction module 121, the intra prediction module 122, and the reference pixel group selector 124.

[0035] In operation, the encoding controller 126 may generate the encoded video data 102 associated with the current block by including information about whether intra prediction is used, a corresponding intra prediction mode, and / or a selected reference pixel group for generating an intra predictor for the current block. The selected reference pixel group may be used by the intra prediction module 112 of the decoding circuit 110 to generate the intra predictor, to derive gradient filter parameters for filtering the original intra predictor, to calculate the pixel value of the lower right corner pixel of the intra predictor, or any combination thereof, etc. The selected reference pixel group may also correspond to deriving an intra prediction mode for generating the intra predictor.

[0036] The selected reference pixel group may be explicitly specified in the encoded video data 102, or may be derived by the decoding circuit 110 based on the encoded video data 102 and a predetermined video coding standard. Whether to send the selected reference pixel group may be determined based on the intra prediction mode, the size or shape of the current block. In some examples, when the current block is a chroma block, the selected reference pixel group may be explicitly provided or derived based on the selected reference pixel group for the luma block corresponding to the chroma block.

[0037] The selected reference pixel group can be sent using a block-level syntax element. In addition, the selected reference pixel group can be sent only when the size of the current block, the size of the corresponding edge of the block, and / or the size of the edge of the adjacent block opposite to the corresponding edge of the block is greater than a predetermined threshold. In some examples, as in the present application, selecting one or more reference pixel groups from multiple candidate adjacent sets may only apply to the edges of luminance blocks or chrominance blocks with a size greater than a threshold, while the edges of chrominance blocks or chrominance blocks with a size less than a threshold may automatically use the reference pixel group closest to the corresponding edge.

[0038] The intra prediction mode may also be explicitly specified in the encoded video data 102 , or derived based on the encoded video data 102 and a predetermined video coding standard, as described with reference to the encoding circuit 110 .

[0039] In addition, the prediction parameters selected or identified by the intra estimation module 121 can also be forwarded to the intra prediction module 122 to generate an intra predictor for the current block. The intra predictor can also be used to generate residual information for the current block. The residual information and the prediction parameters can be encoded by the encoding controller 126 and included in the encoded video data 102.

[0040] As described above, in some examples, the selected reference pixel group may be used by the decoding circuit 110 or the encoding circuit 120 to generate an intra-frame predictor, to derive a gradient filter parameter for filtering the original intra-frame predictor, to calculate a pixel value of a lower right pixel of the intra-frame predictor, to derive an intra-frame prediction mode for generating an intra-frame predictor, etc. Figure 2-Figure 4 Non-limiting examples of these applications from a decoding perspective are further described, which will be applicable to corresponding applications from an encoding perspective.

[0041] Figure 2 It is shown that according to an exemplary embodiment of the present disclosure, at least one horizontal reference pixel group is selected from multiple first candidate neighboring pixel groups 222[1]-222[M] adjacent to the upper edge 212 of the current block 210 and at least one vertical reference pixel group is selected from multiple second candidate neighboring pixel groups 224[1]-224[N] adjacent to the left edge 214 of the current block 210 for generating an intra-frame predictor of the current block 210.

[0042] The plurality of first candidate adjacent pixel groups 222[1]-222[M] correspond to M rows of pixels adjacent to and arranged in parallel with the upper edge 212. M is a predetermined integer greater than 1. The plurality of second candidate adjacent pixel groups 224[1]-224[N] correspond to N rows of pixels adjacent to and arranged in parallel with the left edge 214. N is a predetermined integer greater than 1. In some examples, M or N may be in the range of 2 to 16. In some instances, M is equal to N.

[0043] In addition, when the corresponding edge (e.g., upper edge 212 or left edge 214) has a size equal to or less than a predetermined threshold, selecting a reference pixel group from the corresponding plurality of candidate reference pixel groups may not be applicable, and a reference pixel group closest to the corresponding edge (e.g., reference pixel group 224[1] corresponding to left edge 214 or reference pixel group 222[1] corresponding to upper edge 212) may be used by default. In some examples, whether to select a reference pixel group from the plurality of candidate reference pixel groups may be determined based on whether the size of the current block 210 is greater than a predetermined threshold. In some examples, the size of the current block is measured based on a pixel area of ​​the block, a size of a longer edge of the block, and / or a size of a shorter edge of the block.

[0044] The intra-frame predictor of the current block 210 may be generated based on one of the available intra-frame prediction modes transmitted or derived from the encoded video data. The available intra-frame prediction modes may be classified into three categories, including: (1) a first group of angular intra-frame prediction modes (e.g., prediction directions from the vertical direction to a direction pointing to the lower left direction at 45 degrees), which only require a horizontal reference pixel group corresponding to the upper edge 212; (2) a second group of angular intra-frame prediction modes (e.g., prediction directions from the horizontal direction to a direction pointing to the upper right-left direction at 45 degrees), which only require a vertical reference pixel group corresponding to the left edge 214; and (3) a third group of angular intra-frame prediction modes (e.g., prediction directions between the vertical direction and the horizontal direction) and non-angular intra-frame prediction modes, which require both a horizontal reference pixel group and a vertical reference pixel group.

[0045] In an example corresponding to the above category (1), an intra-predictor of the current block 210 may be generated based on an angular intra-prediction mode having a prediction direction 202 and at least one selected horizontal reference pixel group. When only one horizontal reference pixel group is needed to generate an intra-predictor of the current block 210, any one of the M candidate neighboring pixel groups 222[1]-222[M] may be selected. When multiple horizontal reference pixel groups are needed to generate an intra-predictor of the current block 210, any combination of the M candidate neighboring pixel groups 222[1]-222[M] may be selected in any order, and the selected horizontal reference pixel groups may be consecutive rows or non-consecutive rows.

[0046] In examples corresponding to category (2) or category (3) discussed above, an intra-frame predictor of the current block 210 may be generated based on an angular prediction mode and at least one selected vertical reference pixel group, or based on an angular prediction mode or a non-angular selection mode, and at least one selected horizontal reference pixel group and at least one selected vertical reference pixel group. The at least one selected vertical reference pixel group may be selected from a second plurality of candidate neighboring pixel groups 224[1]-224[N] adjacent to the left edge 214 of the current block 210 and parallel to the left edge 214 of the current block 210, in a manner similar to selecting at least one selected vertical reference pixel group from the plurality of candidate neighboring pixel groups 222[1]-222[M].

[0047] When the angular intra prediction mode has a prediction direction that is closer to the horizontal direction than the vertical direction, or when the height of the current block is greater than its width, the vertical reference pixel group used to generate the intra predictor can be selected from a plurality of candidate neighboring pixel groups 224[1]-224[N], while the horizontal reference pixel group can be set to a default selection (e.g., the neighboring reference pixel group 224[1] close to the upper boundary), and thus does not need to be sent at the block level. Similarly, when the angular prediction mode has a prediction direction that is closer to the vertical direction than the horizontal direction, or when the width of the current block is greater than its height, the horizontal reference pixel group used to generate the intra predictor can be selected from a plurality of candidate neighboring pixel groups 222[1]-222[M], while the vertical reference pixel group can be set to a default selection (e.g., the neighboring reference pixel group 224[1] close to the left edge 214), and thus does not need to be sent at the block level. In some examples, when two or more reference pixel groups are selected, one of the closest candidate neighboring pixel groups (e.g., candidate neighboring pixel group 222[1] for top edge 212 and / or candidate neighboring pixel group 224[1] for left edge 214) may always be selected by default as one of the selected reference pixel groups.

[0048] When two or more reference pixel groups corresponding to a particular edge are selected to generate an intra-frame predictor, the intra-frame predictor may be generated as a weighted combination of the values ​​of the samples derived from the two or more selected reference pixel groups. The corresponding weights may be extracted from the encoded video data 102 or included in the encoded video data 102. The corresponding weights may be derived or predetermined according to an applied video coding standard. According to an embodiment of the present invention, information indicating K weights is extracted from the input data or information indicating K weights is included in the encoded video data.

[0049] For example, when K reference pixel groups are selected from M candidate adjacent pixel groups 222[1]-222[M], K is a positive integer greater than 1, and the selected K reference pixel groups can define K reference lines respectively. The prediction direction of the intra-frame prediction mode of the current block can also define multiple prediction reference lines. The pixel value of the intra-frame predictor overlapping with one of the prediction reference lines can be generated by determining K sample values ​​based on the K selected reference pixel groups, respectively, and the pixel value of the intra-frame predictor is calculated based on the K sample values. Each of the K sample values ​​may correspond to a corresponding position where each reference line of the selected reference pixel group and a prediction reference line intersect. The pixel value of the intra-frame predictor can be calculated based on K weights respectively applied to the K sample values. In other words, the pixel value of the intra-frame predictor can be determined based on the following equation:

[0050] P=W1·Ref1+W2·Ref2+...+WK·RefK,

[0051] Where P represents the pixel value of the intra predictor, Ref1-RefK represent the respective sample values ​​derived from the K selected reference pixel groups, and W1-WK represent the respective weights applied to the K selected reference pixel groups.

[0052] In some examples, the weights W1-WK may be determined based on the position of a pixel in the current block, the prediction direction of an intra prediction mode of the current block, or a primary reference pixel group among the K selected reference pixel groups, depending on the applicable video coding standard. The weight of the selected primary reference pixel group among the K selected reference pixel groups may be set to be the largest among all weights W1-WK. In addition, the weight for the selected reference pixel group closer to the corresponding edge of the current block 210 may be set to be greater than the weight for another selected reference pixel group farther from the corresponding edge of the current block 210.

[0053] According to various alternative methods or combinations, the intra predictor may be generated using a selected reference pixel group from the plurality of candidate neighboring reference pixel groups 222 [ 1 ] - 222 [M] and / or 224 [ 1 ] - 224 [N].

[0054] According to an alternative method using the selected reference pixel group, an original intra-frame predictor of the current block can be generated based on the neighboring reference pixel groups 222[1] and 224[1] closest to the corresponding edges 212 and 214 and the specified intra-frame prediction mode. The original intra-frame predictor can be adjusted using gradient information calculated based on the selected reference pixel group from the plurality of neighboring candidate pixel groups 222[1]-222[M] and / or 224[1]-224[N]. The final intra-frame predictor can be generated by adjusting the original intra-frame predictor based on the calculated gradient information.

[0055] In some examples, the gradient information G may correspond to a difference between two sample values ​​derived based on two selected reference pixel groups corresponding to the same edge along a prediction direction of a specific intra prediction mode. When the value of the pixel of the original intra predictor is Praw, the pixel value of the final intra predictor P corresponding to Praw may be determined based on the following equation:

[0056] P=Praw+A·G,

[0057] Where A represents a predetermined parameter. In some examples, parameter A may be set larger when the predicted pixel is closer to the selected reference pixel group. In at least another example, parameter A may vary with block size.

[0058] In at least one embodiment, gradient information can always be generated by using the difference between the first and second nearest reference pixel groups corresponding to the edge (e.g., candidate pixel groups 222[1] and 222[2] corresponding to the top edge 212 and / or candidate pixel groups 224[1] and 224[2] corresponding to the left edge 214).

[0059] According to another alternative method using the selected reference pixel group, at most one reference pixel group is selected for the corresponding edge. When selecting the horizontal reference pixel group and the vertical reference pixel group to generate the intra predictor of the current block 210, the shortest distance between the selected horizontal reference pixel group and the upper edge 212 of the current block 210 may be different from the shortest distance between the vertically selected reference pixel group and the left edge 214 of the current block 210.

[0060] According to another alternative method using the selected reference pixel group, after generating the original intra predictor as described above, a final intra predictor for the current block can be generated by applying a gradient filter and / or a bi-boundary filter to the original intra predictor. Filter parameters for the gradient filter and / or the bi-boundary filter can be generated based on the selected horizontal reference pixel group and / or the selected vertical reference pixel group instead of using only the closest reference pixel group (e.g., candidate pixel group 222 [1] or 224 [1]).

[0061] According to another alternative method using the selected reference pixel group, generation of the intra predictor of the current block includes first calculating a pixel value of a lower right corner pixel 216 of the intra predictor of the current block 210, which may be calculated based on the selected reference pixel group. The pixel value of the lower right corner pixel 216 may be determined based on a pixel value of a pixel 226 from a candidate pixel group 222[1] directly above the corner pixel 216, a pixel value of a pixel 228 from a candidate pixel group 224[1] directly to the left of the corner pixel 216, first gradient information Delta_T derived from two or more selected reference pixel groups of neighboring candidate pixel groups 222[1]-222[M], and second gradient information Delta_L derived from two or more selected reference pixel groups of neighboring candidate pixel groups 224[1]-224[N]. The pixel value P of the corner pixel 216 may be determined based on the following equation:

[0062] P=(Ref_T+a·Height·Delta_T+Ref_L+b·Width·Delta_L),

[0063] The height and width correspond to the size of the current block 210, and a and b represent predetermined parameters.

[0064] Parameters a and b may be determined based on prediction direction, block size, distance of corner pixel 216 to the selected reference pixel group, etc. In some examples, parameters a and b may be sent or derived based on direction of prediction and / or block size, or selected from multiple candidate values.

[0065] In some examples, a coarse value for corner pixel 216 is sent, and the final pixel value for corner pixel 216 may be adjusted based on gradient information derived from the selected set of reference pixels.

[0066] Although many example methods for generating intra predictors using selected reference pixel groups are shown in this disclosure, there are other applicable methods and these methods are also included in the embodiments.

[0067] In addition, in some examples, whether to select at least one reference pixel group corresponding to a specific edge of the current block or automatically use the reference pixel group closest to the corresponding alternative edge may depend on whether the size of the edge is greater than a predetermined threshold. For example, when the edge has a size greater than a predetermined number of pixels, the generation of the intra-frame predictor will be performed based on selecting at least one reference pixel group from multiple adjacent candidate reference pixel groups. In this case, the reference pixel group to be selected can be sent through the encoded video data 102, or the reference pixel group to be selected can be derived based on the encoded video data 102. When the edge has a size equal to or less than a predetermined number of pixels, the generation of the intra-frame predictor can be performed based on the adjacent candidate pixel group closest to the corresponding edge. In this case, it is not necessary to indicate which reference pixel group is selected.

[0068] In addition, whether to select at least one reference pixel group corresponding to a specific edge of the current block or automatically use the adjacent candidate pixel group closest to the corresponding edge may depend on whether the edge size of the adjacent block adjacent to the edge and / or the current block is greater than the respective predetermined thresholds. Information indicating which reference pixel group to select may be sent through the encoded video data 102 or derived based on the encoded video data 102.

[0069] In some examples, when the current block is a chroma block, the selected reference pixel group may be sent or derived based on the selected reference pixel group for the luma block corresponding to the chroma block. In some examples, when the current block is a chroma block, the chroma block is encoded or decoded by selecting a reference pixel group as described above or using a reference pixel group that is immediately adjacent to an edge of a replacement chroma block.

[0070] In addition, when a quadtree plus binary tree (QTBT) structure is used to encode the frame to which the current block belongs, the luminance and chrominance blocks of the frame may have different block partitions with different block sizes and / or shapes. The reference pixel group for the chrominance block may use the default setting of the closest reference pixel, with reference to the selection of the reference pixel group of the corresponding luminance block including the pixel co-located with the upper left corner pixel of the chrominance. In some examples, when a 4:2:0 color format is used, the first and second closest reference pixel groups for the luminance block may correspond to the first closest reference pixel group of the corresponding chrominance block, and the third and fourth closest reference pixel groups for the luminance block may correspond to the second closest reference pixel group for the corresponding chrominance block. Of course, the chrominance block may be selected using a reference pixel group that is sent or derived separately.

[0071] Figure 3A schematic diagram is shown of calculating pixel values ​​of an intra predictor using two selected reference pixel groups 322 [ M1 ] and 322 [ M2 ] according to an exemplary embodiment of the present disclosure. Figure 3 shows the use of reference Figure 2 A specific example of generating an intra predictor from a reference pixel group selected from a plurality of neighboring pixel groups is briefly shown.

[0072] The selected reference pixel groups 322[M1] and 322[M2] are selected from the neighboring candidate pixel groups 222[1]-222[M] adjacent to and parallel to the upper edge 212 of the current block 210, and the indexes M1 and M2 range from 1 to M. Of course, depending on the specified intra prediction mode for generating the intra predictor, the reference pixel groups 322[M1] and 322[M2] may be additionally or alternatively selected based on the neighboring candidate reference pixel groups 224[1]-224[N] to be consistent with Figure 3 The pixel values ​​of the intra predictor are calculated in a similar manner to the example shown.

[0073] When two reference pixel groups 322[M1] and 322[M2] corresponding to a specific edge 212 are selected to generate an intra predictor, the intra predictor may be generated based on a weighted combination of sample values ​​derived from the two selected reference pixel groups. The weighted combination may be performed in the form of a sum of a sample value derived from one of the two selected reference pixel groups and different sample values ​​derived from the two selected reference pixel groups adjusted by a predetermined multiplication factor.

[0074] For example, the selected reference pixel group 322[M1] may define a first reference line L1. The selected reference pixel group 322[M2] may define a second reference line L2. In addition, the prediction direction 302 of the specified intra prediction mode of the current block may define prediction reference lines, wherein one of the prediction reference lines L3 overlaps with the pixel 316 of the intra predictor. The first sample value Ref1 may be determined based on the selected reference pixel group 322[M1]. The first sample value Ref1 may correspond to a first position 342 where the first reference line L1 and the prediction reference line L3 intersect. In some examples, the first sample value Ref1 may be determined by an interpolation operation between pixel values ​​of at least two pixels (e.g., pixels m1-a and m1-b) in the selected reference pixel group 322[M1] using ratios that are inversely proportional to distances D1a and D1b, respectively, between the first position and the at least two pixels, wherein the at least two pixels are adjacent to the first position 342. In addition, a second sample value Ref2 may be determined based on the selected reference pixel group 322[M2]. The second sample value Ref2 corresponds to a second position 344 where the second reference line L2 and the predicted reference line L3 intersect. In some examples, the second sample value Ref2 may be determined by an interpolation operation between pixel values ​​of at least two pixels (e.g., pixels m2-a and m2-b) in the selected reference pixel group 322[M2] using a ratio that is inversely proportional to the distances D2a and D2b between the second position and the at least two pixels, respectively, where the at least two pixels are adjacent to the second position 344. Of course, the sample values ​​Ref1 and Ref2 may be determined by any other applicable method based on the selected reference pixel group 322[M1] and / or the reference pixel group 322[M2].

[0075] The pixel value of the pixel 316 of the intra-frame predictor overlapping the prediction reference line L3 may be calculated based on the first sample value Ref1 and the second sample value Ref2. In some examples, the value of the pixel 316 may be calculated based on the difference between the first sample value Ref1 and the second sample value Ref2 and one of the first sample value Ref1 and the second sample value Ref2. In at least one example, the pixel value of the intra-frame predictor may be determined based on the following equation:

[0076] P=Ref1+W·(Ref1-Ref2),

[0077] Where P represents the pixel value of the intra-frame predictor and W represents the multiplication factor.

[0078] The multiplication factor W may be set based on the size of the current block or the intra prediction mode or the position of the pixel 316 in the current block. In some examples, the multiplication factor W may be determined based on the distance D between the first position 342 and the pixel 316 and the distance Dref between the first position 342 and the second position 344. In at least one example, the pixel value of the intra predictor may be determined based on the following equation:

[0079]

[0080] Wherein B represents another predetermined parameter. In some examples, parameter B may be sent via the encoded video data 102 , or may be derived based on information provided in the encoded video data 102 .

[0081] Figure 4 A schematic diagram of another method of using a selected pixel group is marked, the method including selecting a reference pixel group from a plurality of candidate neighboring pixel groups according to an exemplary embodiment of the present disclosure to derive an intra prediction mode of a current block 410. The current block 410 is a portion of a frame 400, and the frame 400 includes a processed portion 402 and an unprocessed portion 404. The processed portion 402 includes a block that has been used for encoding or decoding processing before processing the current block 410. The unprocessed portion 404 includes a block that has not yet been processed for encoding or decoding, wherein the current block 410 is a portion of the unprocessed portion 404.

[0082] The current block 410 includes an upper edge 412 and a left edge 414. One or more reference pixel groups 432 corresponding to the upper edge 412 and one or more reference pixel groups 434 corresponding to the left edge 414 are similar to the reference pixel groups 432 and 434 of FIG. Figure 2 The selected reference pixel group 432 and the selected reference pixel group 434 are collectively labeled as the selected reference pixel group 430. That is, the selected reference pixel group is derived based on the intra prediction mode or the shape of the current block.

[0083] Instead of being used directly to generate an intra-predictor or in addition to being used directly to generate an intra-predictor, the selected reference pixel group 430 can be used with the processing portion 402 of the frame 400 to derive an intra-prediction mode for the current block 410. For example, reference template pixels 422 adjacent to the upper edge 412 and reference template pixels 424 adjacent to the left edge 414 within the processing portion 402 can be used as a reference template representing the current block 410. The reference template pixels 422 can have a width and a predetermined height LT0 that are the same as the length of the upper edge 412. In some examples, the reference template pixels 422 can have a height LT1 that is the same as the shortest distance between the selected reference pixel group 432 and the upper edge 412. The reference template pixels 424 can have a width and a predetermined height LL0 that are the same as the length of the left edge 414. In some examples, the reference template pixels 424 can have a height LL1 that is the same as the shortest distance between the selected reference pixel group 434 and the left edge 414.

[0084] Therefore, the encoding circuit can exclude information about the intra-prediction mode of the current block from the encoded video data, and the decoding circuit can derive the intra-prediction mode accordingly as described herein. The decoding circuit can derive the intra-prediction mode, which is derived by identifying the intra-prediction mode that produces the minimum error between the decoded pixel values ​​corresponding to the reference template pixels 422 and the reference template pixels 424 and the corresponding calculated pixel values ​​using the selected reference pixel group 430 and various candidate intra-prediction modes. On the other hand, the encoding circuit can determine the intra-prediction mode based on the pixel values ​​of the reference template pixels 422 and the reference template pixels 424 and the calculated pixel values ​​corresponding to the selected reference pixel group 430 and various candidate intra-prediction modes. In some examples, the encoding circuit can determine the intra-prediction mode based on the current block 410 and various candidate intra-prediction modes, and can also determine the selected reference pixel group, which can be combined with the decoded pixel values ​​of the reference template pixels 422 and 424 and used as a method of sending the determined intra-prediction mode.

[0085] Furthermore, after the intra prediction mode is determined, an intra predictor for the current block 410 may be generated based on the same selected reference pixel group 430 or different horizontal and / or vertical reference pixel groups.

[0086] Figure 5 For example, an embodiment according to the present disclosure is shown Figure 1 5 is a functional block diagram of an exemplary decoding circuit 510 in the video codec system 100 of the video codec system in FIG. Figure 5 is a simplified diagram of decoding circuit 510 and thus may not show all details and variations of decoding circuit 510 .

[0087] The decoding circuit 510 includes a Figure 1 The intra prediction module 112, the reference pixel group selector 114 and the decoding controller 116 of the intra prediction module 512, the reference pixel group selector 514 and the decoding controller 516. If the decoding controller 516 determines to use intra prediction to decode the current block, the intra prediction module 512 can generate a final prediction sub for the current block based on the specified or derived intra prediction mode. Figure 3 As shown, the reference pixel group selector 514 can select a horizontal and / or vertical reference pixel group from a plurality of adjacent candidate pixel groups. Figure 2 and Figure 3 As shown, the intra prediction module 512 can generate an intra prediction sub-frame based on the selected reference pixel group and the intra prediction mode notified by the decoding controller 516. In some examples, the intra prediction module 512 can generate an intra prediction sub-frame based on the reference pixel group. Figure 2 and Figure 4 The selected reference pixel group shown derives the intra prediction mode.

[0088] The decoding circuit 510 also includes an inter prediction module 532, an adder 542, a residual decoder 544, an output filter 546, a memory 550, and a processor 560. When the inter prediction is used to decode the current block, the inter prediction module 532 can generate an inter prediction module for the current block based on the specified or derived motion information. In addition, the residual decoder 544 can generate a residual portion of the current block according to the residual information from the decoding controller 516. The adder 542 can generate a decoded image of the current block (i.e., a decoded block) by adding the residual portion of the current block from the residual decoder 544, the intra predictor of the current block from the intra prediction module 512, and / or the inter predictor of the current block from the inter prediction module 532.

[0089] The output filter 546 may combine the decoded blocks from the adder 542 into an image frame, process the image frame according to a predetermined filtering process, and output the filtered image frame as the output frame 504. The memory 550 may store the filtered image frame from the output filter 546 and / or the previously decoded blocks of the current frame from the prediction module (the intra-frame prediction module 512 or the inter-frame prediction module 532), which may be further used by the prediction module (the intra-frame prediction module 512 or the inter-frame prediction module 532) to retrieve reference samples.

[0090] The decoding controller 516 receives and analyzes the encoded video data 502 and extracts the residual information and prediction parameters of the current block. The decoding controller 516 can provide the residual information to the residual decoder 544 and provide the prediction parameters to the intra prediction module 512 or the inter prediction module 532 to reconstruct the image of the current block.

[0091] In operation, when a current block is to be decoded, the decoding controller 516 receives the encoded video data 502 associated with the current block and extracts information about whether the current block is to be decoded using inter-frame prediction or intra-frame prediction. When the decoding controller 516 determines that the current block is to be decoded using intra-frame prediction, the decoding controller 516 forwards the prediction parameters of the current block to the intra-frame prediction module 512. The prediction parameters may include intra-frame prediction information, such as reference pixel group selection information indicating which adjacent candidate pixel group to select, a flag indicating whether the intra-frame prediction mode used to generate the intra-frame predictor of the current block is to be sent or derived, and / or an intra-frame prediction mode. The prediction parameters extracted or identified by the decoding controller 516 may be explicitly specified in the encoded video data 502, or derived based on information provided in the encoded video data 502 and a predetermined video coding standard.

[0092] As reference Figure 2 and Figure 3 As shown, the intra prediction module 512 can generate an intra prediction sub-frame of the current block according to the selected reference pixel group and the intra prediction mode provided by the decoding controller 516. Figure 2 and Figure 4 As shown, the intra prediction module 512 may derive an intra prediction mode of the current block according to the selected reference pixel group and the processed portion of the frame to which the current block belongs, and generate an intra prediction mode based on the derived intra mode.

[0093] The decoding controller 516 also forwards the residual information to the residual decoder 544, which generates the residual portion of the current block. The current block can now be decoded by adding the intra predictor from the intra prediction module 512 and the residual portion of the current block from the residual decoder 544 at the adder 542.

[0094] In addition, if Figure 5 As shown, the processor 560 is electrically coupled to the memory 550 and can be configured to execute program instructions stored in the memory 550 to perform various functions. The processor 560 may include a single or multiple processing cores. Various components of the decoding circuit 510 such as the decoding controller 516, the intra-frame prediction module 512, the reference pixel group selector 514, the inter-frame prediction module 532, the adder 542, the residual decoder 544, and / or the output filter 546 can be implemented by hardware components, the processor 560 executing program instructions, or a combination thereof. Of course, the processor 560 can also execute program instructions to control the reception of the encoded video data 502 and the output or display of the output frame 504. In some examples, the processor 560 can execute program instructions to perform functions that may not directly involve decoding the encoded video data 502.

[0095] Memory 550 may be used to store program instructions, information corresponding to prediction parameters, previously decoded blocks, output frames, and / or intermediate data for performing various functions of decoding circuit 510. In some examples, memory 550 includes non-transitory computer-readable media such as semiconductor or solid-state memory, random access memory (RAM), read-only memory (ROM), hard disk, optical disk, or other suitable storage media. In some embodiments, memory 550 includes a combination of two or more of the non-transitory computer-readable media listed above.

[0096] Figure 6 The embodiment according to the present disclosure is shown Figure 1 FIG. 6 is an exemplary functional block diagram of an encoding circuit 620 for video encoding in a video encoding and decoding system of the video encoding system 100 in FIG. Figure 6 is a simplified diagram of the encoding circuit 620 and therefore may not show all details and variations of the encoding circuit 620.

[0097] The encoding circuit 620 includes an intra-frame estimation module 621, an intra-frame prediction module 622, a reference pixel group selector 624 and an encoding controller 626, which may correspond to Figure 1 The coding circuit 620 further includes an intra-frame estimation module 121, an intra-frame prediction module 122, a reference pixel group selector 124 and a coding controller 126. The coding circuit 620 also includes an inter-frame estimation module 631, an inter-frame prediction module 632, an adder 642, a residual encoder 644, a reconstruction module 648, a memory 650 and a processor 660.

[0098] The encoding controller 626 monitors the operations of the intra estimation module 621, the intra prediction module 622, the reference pixel group selector 624, the inter estimation module 631 and the inter prediction module 632. The encoding controller 626 can divide each input frame into a plurality of blocks and instruct the intra estimation module 621 and / or the inter estimation module 631 to determine the prediction scheme, prediction mode and / or corresponding prediction parameters of each block. The encoding controller 626 can select one of the intra prediction module 622 or the inter prediction module 632 to output the corresponding final predictor of the current block to the adder 642. The adder 642 receives the original image of the current block and the final predictor of the current block, and outputs the residual part of the current block by subtracting the final predictor from the original image of the current block. The residual encoder 644 receives and encodes the remaining part of the current block. The encoding controller 626 may generate the encoded video data 602 based on the prediction parameters from the intra estimation module 621 and / or the inter estimation module 631 , and output it from the residual encoder 644 .

[0099] The intra prediction module 622 and the inter prediction module 632 may receive prediction parameters from the intra estimation module 621 and the inter estimation module 631, respectively, and may be configured similarly to Figure 5 The intra prediction module 512 and the inter prediction module 532 may generate a corresponding final predictor for the current block in a manner similar to the operations of the intra prediction module 512 and the inter prediction module 532. The intra prediction module 622 and / or the inter prediction module 632 may generate a final predictor in a manner similar to the operations of the intra prediction module 512 and the inter prediction module 532. Therefore, a detailed description thereof is omitted.

[0100] In some examples, the encoding controller 626 can control the intra-frame estimation module 621, the reference pixel group selector 624, the inter-frame estimation module 631, the intra-frame prediction module 622, the inter-frame prediction module 632, and / or the residual encoder 644 to encode the current block based on different prediction schemes and parameters, and then can select the best combination of coding schemes and parameters for encoding the current block.

[0101] The reconstruction module 648 may receive the final prediction value from the intra prediction module 622 or the inter prediction module 632, and receive the reconstructed residual portion of the current block from the residual encoder 644. Based on such information, the reconstruction module 648 may generate a Figure 5 The adder 542 and the output filter 546 in the embodiment of the present invention are similarly operated to generate a reconstructed image and / or a reconstructed frame of the current block. The reconstructed block and / or frame can be stored in the memory 650 and can be accessed by the intra prediction module 622, the inter prediction module 632, the intra estimation module 621 and / or the inter estimation module 631 for estimating the prediction parameters of the next block.

[0102] In operation, when the current block is encoded using intra prediction as indicated by the encoding controller 626, the intra estimation module 621 receives the original image of the current block from the input frame 606. The intra estimation module 621 may use the reference pixel group selector 624 to determine appropriate prediction parameters, such as reference pixel group selector 624. Figure 2 and 3 The selected intra prediction mode and / or the selected reference pixel group from the neighboring candidate reference pixel group are shown. The intra prediction mode may be selected from the available intra prediction modes for intra prediction according to a predetermined video coding standard.

[0103] The intra prediction module 622 may generate an intra prediction sub-frame of the current block based on the prediction parameters provided by the intra estimation module 621. The intra prediction module 622 may work with the reference pixel group selector 624 to select the reference pixel group based on the following example: Figure 2 and Figure 3 The intra prediction module 622 can work with the neighboring reference pixel group selector 624 to generate the intra prediction sub-frame of the current block according to the neighboring candidate reference picture group and the intra prediction mode shown. Figure 2 and Figure 4The selected reference pixel group from the neighboring reference pixel groups is used to derive the intra prediction mode, and the intra predictor of the current block is generated based on the selected reference pixel group, other predetermined neighboring reference pixel groups and the derived intra prediction mode.

[0104] The adder 642 can output the residual part of the current block based on the original image of the current block and the final predictor, and encode the residual part. The encoding controller 626 can collect prediction parameters from the intra-frame estimation module 621 and / or the inter-frame estimation module 631 and the encoded residual information, and determine whether the selected encoding scheme of the current block is acceptable.

[0105] In addition, if Figure 6 As shown, the processor 660 is electrically coupled to the memory 650 and can be configured to execute program instructions stored in the memory 650 to perform various functions. The processor 660 may include a single or multiple processing cores. For example, various components of the encoding unit 620 of the encoding controller 626, the intra-frame prediction module 622, the intra-frame estimation module 621, the inter-frame prediction module 632, the inter-frame estimation module 631, the reference pixel group selector 624, the adder 642, the residual encoder 644 and / or the reconstruction module 648 can be implemented by hardware components, the processor 660 executing program instructions, or a combination thereof. Of course, the processor 660 can also execute program instructions to control the reception of the input frame 606 and the output of the encoded video data 602. In some examples, the processor 660 can execute program instructions to perform functions that may not be directly related to encoding the encoded video data 602.

[0106] The memory 650 may be used to store program instructions, information corresponding to prediction parameters, reconstructed blocks, input frames, and / or intermediate data for performing various functions of the encoding circuit 620. In some examples, the memory 650 includes a non-transitory computer-readable medium such as a semiconductor or solid-state memory, a random access memory (RAM), a read-only memory (ROM), a hard disk, an optical disk, or other suitable storage medium. In some embodiments, the memory 650 includes a combination of two or more of the non-transitory computer-readable media listed above.

[0107] also, Figure 5 The decoding circuit 510 and Figure 6 The encoding circuit 620 in the decoding circuit 510 can be implemented in the same electronic device, and various components of the decoding circuit 510 and the encoding circuit 620 can be shared or reused. For example, one or more of the memory 550, the processor 560, the intra prediction module 512, the intra prediction module 532, the adjacent reference pixel group selector 514, and the output filter 546 in the decoding circuit 510 can also be used as Figure 6The memory 650, the processor 660, the intra prediction module 622, the intra prediction module 632, the adjacent reference pixel group selector 624 and the reconstruction module 648.

[0108] Figure 7 The use of an embodiment according to the present disclosure is shown as follows Figure 5 FIG. 7 is a flowchart of a video decoding process 700 of the video decoding processing circuit of the decoding circuit 510 in FIG. Figure 7 Additional operations are performed before, during and / or after the illustrated process 700. The process 700 begins at step S701 and proceeds to step S710.

[0109] At step S710, encoded video data associated with a current block in an image frame is received as input data. For example, the decoding controller 516 may receive the encoded video data 502 including input data associated with the current block.

[0110] At step S720, when intra prediction is used to encode the current block, an intra prediction mode of the current block is identified. In some examples, the intra prediction mode may be sent via the encoded video data or derived based on information provided in the encoded video data. The reference pixel group selected in step S730 and / or step S740 together with the identified intra prediction mode may be used to generate an intra predictor for the current block. For example, the decoding controller 516 may extract prediction parameters from the encoded video data 502 and determine the intra prediction mode for the current block.

[0111] In some examples, the reference pixel group selected in step S730 and / or step S740 may be used to derive the intra prediction mode of the current block. In this case, step S720 may be performed after step S730 and step S740.

[0112] In step S730, one or more first reference pixel groups are selected from a plurality of first candidate neighboring pixel groups arranged in parallel with the first edge of the current block. For example, the reference pixel group selector 514 may select one or more reference pixel groups from the candidate neighboring pixel groups 222[1]-222[M] corresponding to the upper edge 212, or may select one or more reference pixel groups from the candidate vector pixel groups 224[1]-224[N] as reference pixels. Figure 2 One or more first reference pixel groups are described.

[0113] In step S740, one or more second reference pixel groups are selected from a plurality of second candidate neighboring pixel groups arranged in parallel with the second edge of the current block. Figure 2One or more reference pixel groups are selected from the other candidate neighboring pixel groups 222 [1] - 222 [M] or 224 [1] - 224 [N] as one or more second reference pixel groups.

[0114] When the generation of the intra predictor requires the selected reference pixel groups corresponding to two different edges of the current block, step S740 may be performed. In some examples, when the selected reference pixel group of the second edge of the current block has been pre-specified according to a predetermined video coding standard, or when only the selected reference pixel group from one of the upper edge or the left edge of the current block is required, step S740 may be omitted.

[0115] In some examples, the reference pixel group selected in step S730 and step S740 may be used to derive the intra prediction mode of the current block. In this case, step S720 may be performed after step S730 and step S740. For example, the intra prediction module 512, the reference pixel group selector 514, and the decoding controller 516 may work together to generate the intra prediction mode of the current block as shown in FIG. Figure 4 The intra prediction mode is derived in the described manner.

[0116] In step S750, the intra prediction mode identified and / or the selected reference pixel group are used to generate an intra prediction sub-frame of the current block. For example, when the current block is encoded using intra prediction, the intra prediction module 512 may use the reference pixel group as shown in FIG. Figure 2 and Figure 3 The selected reference pixel set and / or the use of the reference pixel set as described Figure 2 and Figure 4 The identified intra prediction mode is used to generate an intra predictor for the current block.

[0117] In step S760, the current block is decoded based on the intra-frame predictor to output a decoded block. Figure 5 As described above, the adder 542 generates a decoded block of the current block based on combining the residual portion of the current block and the final predictor from the intra-inter prediction module 512 .

[0118] After step S760, the process proceeds to step S799 and terminates.

[0119] Figure 8 The use of an embodiment according to the present disclosure is shown as follows Figure 6 FIG. 8 is a flowchart of a video encoding process 800 of the video encoding processing circuit of the encoding circuit 620 in FIG. Figure 8 Additional operations are performed before, during and / or after the illustrated process 800. The process 800 begins at step S801 and proceeds to step S810.

[0120] At step S810, an input image frame including a current block to be encoded using intra prediction is received as input data. For example, the processing circuit 620 may receive an input frame 606 including an image frame having a current block.

[0121] In step S820-step S840, prediction parameters for encoding the current block using intra-inter prediction are estimated. For example, the intra estimation module 621 is used together with the adjacent reference pixel group selector 624 as shown in FIG. Figure 2-Figure 4 The intra prediction is used to estimate prediction parameters for encoding the current block.

[0122] In step S820, an intra prediction mode for encoding the current block is identified. In step S830, one or more first reference pixel groups are selected from a plurality of first candidate neighboring pixel groups arranged in parallel with a first edge of the current block. For example, the reference pixel group selector 624 may select from the first candidate neighboring pixel groups corresponding to the first edge of the current block. Figure 2 One or more reference pixel groups are selected from the candidate neighboring pixel groups 222[1]-222[M] corresponding to the upper edge 212 shown, or one or more reference pixel groups are selected from the candidate neighboring pixel groups 224[1]-224[N] corresponding to the left edge 214 as one or more first reference pixel groups.

[0123] In step S840, one or more second reference pixel groups are selected from a plurality of second candidate neighboring pixel groups arranged in parallel with the second edge of the current block. Figure 2 One or more reference pixel groups are selected from the candidate neighboring pixel groups 222 [ 1 ] - 222 [M] or 224 [ 1 ] - 224 [N] corresponding to the other of the edge 212 or the edge 214 as one or more second reference pixel groups.

[0124] When the generation of the intra predictor requires the selected reference pixel groups corresponding to two different edges of the current block, step S840 may be performed. In some examples, when the selected reference pixel group of the second edge of the current block has been pre-specified according to a predetermined video coding standard, or when only the selected reference pixel group from one of the upper edge or the left edge of the current block is required, step S840 may be omitted.

[0125] In some examples, the reference pixel group selected in step S830 and / or step S840 may be used to derive an intra prediction mode for the current block. In this case, step S820 may be performed after step S830 and step S840. For example, the intra estimation module 621, the reference pixel group selector 624, and the encoding controller 626 may work together to reference the intra prediction mode of the current block. Figure 6 The intra prediction mode is derived in the described manner.

[0126] In step S850, the intra-frame prediction sub-module of the current block is generated based on the prediction parameters determined in steps S820-S840. For example, the intra-frame prediction module 622 generates an intra-frame prediction sub-module of the current block based on the prediction parameters determined in steps S820-S840 by means of the reference pixel group selector 624. Figure 6 The prediction parameters provided by the intra-frame estimation module 621 generate an intra-frame predictor of the current block. In some examples, the intra-frame prediction module 622 may use the reference Figure 2 and 3 The selected reference pixel group shown and / or the use of the reference pixel group as shown Figure 2 and Figure 4 The identified intra prediction mode shown is used to generate the intra prediction sub-frame of the current block

[0127] At step S860, it is determined whether the prediction parameters are acceptable. If the prediction parameters are acceptable, the process proceeds to step S870. If the prediction parameters are unacceptable, the process may proceed to step S820 or step S830 to determine an alternative intra prediction mode or an alternative reference pixel group, or proceed to step S899 so that the current block may be encoded using a different prediction scheme. For example, the encoding controller 626 receives the prediction parameters estimated by the intra estimation module 621 and the encoded residual information from the residual encoder 644, which is generated based on the intra predictor from the intra prediction module 622. The encoding controller 626 may determine whether the prediction parameters and the encoded residual information are acceptable based on a predetermined encoding standard, and determine whether the intra-inter estimation module must provide a different set of estimated prediction parameters and / or whether only intra prediction or inter prediction is used.

[0128] In step S870, the current block is encoded based on the intra predictor and the estimated prediction parameters to output encoded video data.

[0129] The current block is encoded by encoding the prediction parameters from step S820 to step S840 and the residual information generated based on subtracting the final predictor from the original image of the current block. Figure 6 The adder 642 shown generates residual information of the current block, the residual encoder 644 generates the encoded residual information, and the encoding controller 626 generates the encoded video data based on the prediction parameters from the intra prediction module 621 and the encoded residual information from the residual encoder. In some examples, the prediction parameters may include the intra prediction mode, information specifying whether to select a reference pixel group from multiple adjacent candidate sets, and / or the selected reference pixel group. Figure 2 and Figure 4 The predicted parameters shown are sent or derived.

[0130] After step S870, the process proceeds to step S899 and terminates.

[0131] Although various aspects of the present disclosure have been described in conjunction with specific embodiments presented as examples, substitutions, modifications, and variations of the examples may be described. Therefore, the embodiments set forth herein are intended to be illustrative rather than restrictive. The embodiments set forth herein may be modified without departing from the scope of the appended claims.

Claims

1. A video encoding and decoding method, characterized in that: include: receiving input data associated with a current block in an image frame; Selecting a plurality of reference pixel groups from a plurality of first candidate neighboring pixel groups adjacent to a first edge of the current block and a plurality of second candidate neighboring pixel groups adjacent to a second edge of the current block, each of the first candidate neighboring pixel groups being arranged in parallel with the first edge of the current block, and each of the second candidate neighboring pixel groups being arranged in parallel with the second edge of the current block, wherein selection information indicating the selected plurality of reference pixel groups is extracted from input data or included in encoded video data; determining a gradient filter based on the selected plurality of reference pixel groups; deriving an intra prediction mode of the current block based on the selected plurality of reference pixel groups; Generate an original intra-frame predictor of the current block based on the intra-frame prediction mode; Based on the determined gradient filter, adjusting the original intra-frame predictor to a final intra-frame predictor; as well as The current block is encoded or decoded based on the final intra-frame predictor to output encoded video data or a decoded block.

2. The video encoding and decoding method as claimed in claim 1, characterized in that: The plurality of first candidate neighboring pixel groups include a row of neighboring pixels and one or more rows of additional neighboring pixels, the row of neighboring pixels being closest to the first edge of the current block, and the one or more rows of additional neighboring pixels being parallel to the first edge of the current block.

3. The video encoding and decoding method as claimed in claim 1, characterized in that: The current block is a chroma block, and The method also includes deriving the selected plurality of reference pixel groups based on the selected plurality of reference pixel groups of the luma block corresponding to the chroma block.

4. The video encoding and decoding method as claimed in claim 1, characterized in that: The current block is a luminance block, and The method also includes encoding or decoding the chroma block corresponding to the luminance block using an upper neighboring reference pixel group adjacent to an upper edge of the chroma block and a left neighboring reference pixel group adjacent to a left edge of the chroma block.

5. A video encoding and decoding device, characterized in that: include: The processing circuit is configured to: receiving input data associated with a current block in an image frame; Selecting a plurality of reference pixel groups from a plurality of first candidate neighboring pixel groups adjacent to a first edge of the current block and a plurality of second candidate neighboring pixel groups adjacent to a second edge of the current block, each of the first candidate neighboring pixel groups being arranged in parallel with the first edge of the current block, and each of the second candidate neighboring pixel groups being arranged in parallel with the second edge of the current block, wherein selection information indicating the selected plurality of reference pixel groups is extracted from input data or included in encoded video data; determining a gradient filter based on the selected plurality of reference pixel groups; deriving an intra prediction mode of the current block based on the selected plurality of reference pixel groups; Generate an original intra-frame predictor of the current block based on the intra-frame prediction mode; Based on the determined gradient filter, adjusting the original intra-frame predictor to a final intra-frame predictor; as well as The current block is encoded or decoded based on the final intra-frame predictor to output encoded video data or a decoded block.

Citation Information

Patent Citations

  • Video coding method and decoding method, their device, their program and program-recorded medium

    CN101682774A

  • Intra prediction method and encoding apparatus and decoding apparatus using same

    CN103339943A

  • Method and apparatus of directional intra prediction

    CN103597831A

  • Dynamic-image coding device, dynamic-image decoding device, dynamic-image coding method, dynamic-image decoding method, and program

    CN105284111A