Video decoding methods, video encoding methods, and bitstream transmission methods
Patent Information
- Application Number
- CN202310866170.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-03-17
- Filing Date
- 2017-03-17
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2037-03-17
AI Technical Summary
影像数据越具备高分辨率高品质,其数据量相比于现有的影像数据也会越来越多,因此利用现有的有线无线宽带线路之类的媒体传输影像数据或者利用现有的保存媒体保存时将大幅提高传输成本与保存成本
[0012]根据本发明,能进行高速帧内预测编码/解码。
Smart Images

Figure CN116668681B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application "Video Signal Processing Method and Apparatus Based on Intra-Frame Prediction" filed on March 17, 2017, with application number 201780017936.7. Technical Field
[0002] This invention relates to video decoding methods, video encoding methods, and bitstream transmission methods. Background Technology
[0003] In recent years, various application fields have seen an increasing demand for high-resolution, high-quality images such as HD (High Definition) and UHD (Ultra High Definition) images. The higher the resolution and quality of image data, the larger its data volume becomes compared to existing image data. Therefore, transmitting image data using existing wired or wireless broadband lines or storing it using existing storage media will significantly increase transmission and storage costs. To address these issues arising from the increasing resolution and quality of image data, efficient image compression techniques can be employed.
[0004] Image compression technology includes various techniques such as inter-frame prediction technology that predicts the pixel values of the current image from images before or after the current image, intra-frame prediction technology that predicts the pixel values of the current image using pixel information in the current image, and entropy symbolization technology that assigns shorter codes to values that occur more frequently and longer codes to values that occur less frequently. These image compression techniques can be used to effectively compress image data for transmission or storage.
[0005] On the other hand, the increasing demand for high-resolution images has led to a growing preference for stereoscopic image content as a new image service. Video compression technologies that can efficiently deliver high-resolution and ultra-high-resolution stereoscopic image content are also receiving increasing attention. Summary of the Invention
[0006] The purpose of this invention is to provide a method and apparatus for high-speed intra-frame predictive coding during video signal encoding / decoding.
[0007] Another objective of this invention is to provide a filter-based intra-frame prediction method and apparatus for video signal encoding / decoding.
[0008] The technical problems to be solved by the present invention are not limited to the aforementioned technical problems. Those skilled in the art to which this invention pertains will clearly understand other problems not mentioned above in the following description.
[0009] The video decoding method of the present invention includes the following steps: determining an MPM list of the current block based on neighboring blocks; determining an intra-prediction mode of the current block based on the MPM list; when the intra-prediction mode is a DC mode, generating a predicted pixel in the current block by performing DC intra-prediction on the current block based on at least one neighboring pixel of the current block; and applying a weighted filter to filter the predicted pixel of the current block, wherein the predicted pixel filtered by the weighted filter is determined based on a weighted sum of an upper reference pixel, a left reference pixel, and the predicted pixel, and the predicted pixel... The left reference pixel of the pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. The predicted pixel is filtered by the weighted filter when at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero. The first weighted value is determined to be zero when the distance between the pixel and the upper reference pixel is greater than a preset value, and the second weighted value is determined to be zero when the distance between the pixel and the left reference pixel is greater than a preset value. The preset value is determined according to the size of the current block.
[0010] The video coding method of the present invention includes the following steps: determining the intra-prediction mode of the current block; determining the MPM list of the current block based on neighboring blocks, and encoding the intra-prediction mode of the current block based on the MPM list of the current block; when the intra-prediction mode is a DC mode, generating a predicted pixel in the current block by performing DC intra-prediction on the current block based on at least one neighboring pixel of the current block; and applying a weighted filter to filter the predicted pixel of the current block, wherein the predicted pixel filtered by the weighted filter is determined based on a weighted sum of an upper reference pixel, a left reference pixel, and the predicted pixel, and when the... When the internal prediction mode of the current block is a non-directional mode, the left reference pixel of the predicted pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. When at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero, the predicted pixel is filtered by the weighted filter. When the distance between the predicted pixel and the upper reference pixel is greater than a preset value, the first weighted value is determined to be zero, and when the distance between the predicted pixel and the left reference pixel is greater than a preset value, the second weighted value is determined to be zero; and the preset value is determined according to the size of the current block.
[0011] In the bitstream transmission method of the present invention, the bitstream is generated by a video coding method, the video coding method comprising the following steps: determining the intra-prediction mode of the current block; determining the MPM list of the current block based on neighboring blocks of the current block, and encoding the intra-prediction mode of the current block based on the MPM list of the current block; when the intra-prediction mode is a DC mode, generating a prediction pixel in the current block by performing DC intra-prediction on the current block based on at least one neighboring pixel of the current block; and applying a weighted filter to filter the prediction pixel of the current block, wherein the prediction pixel filtered by the weighted filter is based on an upper reference pixel, a left reference pixel, and the prediction pixel. The prediction is determined by a weighted sum, and when the internal prediction mode of the current block is a non-directional mode, the left reference pixel of the predicted pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. When at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero, the predicted pixel is filtered by the weighted filter. When the distance between the upper reference pixel and the predicted pixel is greater than a preset value, the first weighted value is determined to be zero, and when the distance between the upper reference pixel and the predicted pixel is greater than a preset value, the second weighted value is determined to be zero; and the preset value is determined according to the size of the current block.
[0012] According to the present invention, high-speed intra-frame predictive coding / decoding can be performed.
[0013] According to the present invention, intra-frame prediction can be performed efficiently using filters.
[0014] The effects achievable by this invention are not limited to those described above. Those skilled in the art will clearly understand other effects not mentioned above in the following description. Attached Figure Description
[0015] Figure 1 This is a block diagram illustrating an image symbolization apparatus according to an embodiment of the present invention.
[0016] Figure 2 This is a block diagram illustrating an image duplication device according to an embodiment of the present invention.
[0017] Figure 3 This is an embodiment of the present invention, illustrating an image duplication method based on intra-frame prediction.
[0018] Figure 4 This is an illustrative diagram used to explain the derivation process of the first predicted value of the target sample.
[0019] Figure 5 and Figure 6 This is used to illustrate an example of performing a second-frame intra-prediction on the current block.
[0020] Figure 7 This is used to describe the intra-prediction order based on the intra-prediction mode of the current block. Detailed Implementation
[0021] This invention can be modified in various ways and has various embodiments. This specification will illustrate specific embodiments with accompanying drawings and provide detailed descriptions. However, this should not limit the invention to specific embodiments. Within the scope of the technical concept of this invention, various substitutions, modifications, and alterations can be performed, which is very obvious to those skilled in the art. Therefore, it is self-evident that such substitutions, modifications, and alterations fall within the equivalent scope of the claims of this invention. In describing the various drawings, similar constituent elements are represented by similar graphic symbols.
[0022] Terms such as "first" and "second" may be used to describe various constituent elements, but the constituent elements shall not be limited to the terms used. The purpose of using these terms is solely to distinguish a constituent element from other constituent elements. For example, within the scope of the claims of this invention, a first constituent element may be named a second constituent element, and similarly, a second constituent element may be named a first constituent element. The term "and / or" includes a combination of multiple related descriptions or a single item among multiple related descriptions.
[0023] When a constituent element is described as "connected" or "accessed" to other constituent elements, it can be understood as either a direct connection to or access to those other constituent elements, or it can be understood as the presence of other constituent elements in between. Conversely, when a constituent element is described as "directly connected" or "directly accessed" to other constituent elements, it should be understood as the absence of other constituent elements in between.
[0024] The terminology used in this application is for illustrative purposes only and should not be construed as limiting the invention. Unless clearly distinguishable in the context of the sentence, singular expressions also include plural expressions. Terms such as "comprising" or "having" in this application merely designate the presence of features, numbers, steps, movements, constituent elements, parts, or combinations thereof as described in the specification, and should not be construed as precluding the existence or additional possibilities of one or more other features, numbers, steps, movements, constituent elements, parts, or combinations thereof.
[0025] Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings. The same graphic symbols will be used for the same constituent elements in the drawings, and the same constituent elements will not be described repeatedly.
[0026] Figure 1This is a block diagram illustrating an image symbolization apparatus according to an embodiment of the present invention.
[0027] Please see Figure 1 The image symbolization device 100 includes an image segmentation unit 110, a prediction unit 120 and 125, a transformation unit 130, a quantization unit 135, a reordering unit 160, an entropy symbolization unit 165, an inverse quantization unit 140, an inverse transformation unit 145, a filtering unit 150, and a memory 155.
[0028] Figure 1 The components shown are illustrated independently to indicate different functional characteristics in the image symbolization device, and do not represent that each component is composed of separate hardware or a single software unit. That is, for ease of explanation, the components are included in a list of individual components, and at least two of the components can be combined to form a single component or a single component can be divided into multiple components to perform functions. These integrated and separate embodiments of the components are also included within the scope of the invention without departing from the essence of the invention.
[0029] Furthermore, some of the constituent elements are not essential for the essential function of this invention but are merely selective elements that improve performance. This invention can be implemented by excluding components essential for achieving the essence of the invention, and structures that include only the essential constituent elements after excluding selective components for performance improvement are also included within the scope of this invention.
[0030] The image segmentation unit 110 can segment the input image into at least one processing unit. This processing unit can be a prediction unit (PU), a transformation unit (TU), or a coding unit (CU). The image segmentation unit 110 segments an image using a combination of multiple coding units, prediction units, and transformation units, and then selects a combination of coding units, prediction units, and transformation units based on a preset criterion (e.g., a cost function) before coding the image.
[0031] For example, an image can be segmented into multiple symbolic units. A recursive tree structure, such as a quadtree structure, can be used to segment symbolic units in an image. A block of symbolic units, rooted at an image or the largest coding unit, can be segmented with a number of child nodes equal to the number of symbolic units segmented. Symbolic units that cannot be further segmented due to certain limitations become leaf nodes. That is, assuming that a coding block can only be segmented into squares, a symbolic unit can be segmented into a maximum of four different symbolic units.
[0032] In the following embodiments of the invention, the symbolization unit can be used as a unit for performing symbolization or as a unit for performing compounding.
[0033] Prediction units can be formed by dividing a symbolic unit into at least one square or rectangle of the same size, or they can be formed by dividing one prediction unit and another prediction unit within a symbolic unit into different shapes and / or sizes.
[0034] If the prediction unit for intra-frame prediction is not the smallest symbolic unit when it is generated based on the symbolic unit, intra-frame prediction can be performed without dividing it into multiple prediction units NxN.
[0035] Prediction units 120 and 125 may include an inter-frame prediction unit 120 that performs inter-frame prediction and an intra-frame prediction unit 125 that performs intra-frame prediction. It can be determined whether to use inter-frame prediction or perform intra-frame prediction for the prediction unit, and the specific information of each prediction method (e.g., intra-frame prediction mode, motion vector, reference image, etc.) can be determined. In this case, the processing unit that performs the prediction and the processing unit that determines the prediction method and its specific content may be different. For example, the prediction method and prediction mode are determined by the prediction unit, while the prediction execution can be performed by the transformation unit. The residual value (residual block) between the generated prediction block and the original block can be input to the transformation unit 130. Furthermore, the prediction mode information, motion vector information, etc., used for prediction can be symbolized together with the residual value in the entropy symbolization unit 165 and then transmitted to the desymbolizer. When using a specific symbolization mode, the original block can be directly symbolized and transmitted to the desymbolizer without generating a prediction block through the prediction units 120 and 125.
[0036] The inter-frame prediction unit 120 can predict prediction units based on information from at least one of the previous or subsequent images of the current image, or, depending on the situation, based on information from a partially symbolized region within the current image. The inter-frame prediction unit 120 may include a reference image interpolation unit, a motion prediction unit, and a motion compensation unit.
[0037] The reference image interpolation unit can receive reference image information from memory 155 and generate pixel information below integer pixels from the reference image. If it is a luminance pixel, an 8th-order DCT-based interpolation filter with different filtering coefficients is used to generate pixel information below integer pixels in 1 / 4 pixel units. If it is a chromatic difference signal, a 4th-order DCT-based interpolation filter with different filtering coefficients can be used to generate pixel information below integer pixels in 1 / 8 pixel units.
[0038] The motion prediction unit performs motion prediction based on the reference image interpolated by the reference image interpolation unit. Various methods can be used to calculate motion vectors, such as FBMA (Full Search-based Block Matching Algorithm), TSS (Three-Step Search), and NTS (New Three-Step Search Algorithm). The motion vectors can have motion vector values of 1 / 2 or 1 / 4 pixel units based on the interpolated pixels. The motion prediction unit can predict the current prediction unit using different motion prediction methods. These methods can include skipping, merging, AMVP (Advanced Motion Vector Prediction), and Intra Block Copy.
[0039] The intra-prediction unit 125 can generate prediction units based on reference pixel information surrounding the current block, which serves as pixel information within the current image. Since the blocks surrounding the current prediction unit are blocks that have performed inter-prediction, if the reference pixel is a pixel that has performed inter-prediction, the reference pixel information of the surrounding blocks that have performed intra-prediction can be used to replace the reference pixel information contained in the block that has performed inter-prediction. That is, when a reference pixel is unavailable, at least one of the available reference pixels can be used to replace the unavailable reference pixel information.
[0040] In intra-frame prediction, prediction modes can include directional prediction modes that use reference pixel information based on the prediction direction and non-directional modes that do not use directional information when performing prediction. The number of these directional prediction modes can be the same as or greater than the 33 defined in the HEVC standard; for example, it can be extended to a number in the range of 60 to 70. The modes used to predict luminance information and the modes used to predict chromatic aberration information may be different. To predict chromatic aberration information, the intra-frame prediction mode information used for predicting luminance information or the predicted luminance signal information can be utilized.
[0041] When performing intra-prediction, if the size of the prediction unit is the same as the size of the transform unit, intra-prediction can be performed based on the pixels to the left of the prediction unit, the pixels at the top left, and the pixels at the top. However, if the size of the prediction unit is different from the size of the transform unit, intra-prediction can be performed using reference pixels based on the transform unit. Furthermore, intra-prediction using NxN segmentation only for the smallest symbolization unit can be used.
[0042] Intra-prediction methods can generate prediction blocks by applying an Adaptive IntraSmoothing (AIS) filter to a reference pixel based on the prediction mode. The type of AIS filter applied to the reference pixel can vary. To perform intra-prediction, the intra-prediction mode of the current prediction unit can be predicted based on the intra-prediction modes of surrounding prediction units. When predicting the prediction mode of the current prediction unit using mode information from surrounding units, if the intra-prediction modes of the current and surrounding units are the same, a preset flag can be used to transmit information indicating that the prediction modes of the current and surrounding units are identical. If the prediction modes of the current and surrounding units are different, entropy symbolization can be performed to symbolize the prediction mode information of the current block.
[0043] Furthermore, residual blocks containing residual information can be generated. These residual values are the differences between the prediction units that performed predictions based on the prediction units generated by prediction units 120 and 125 and the original blocks of the prediction units. The generated residual blocks can be input into the transformation unit 130.
[0044] The transform unit 130 can transform the residual block, which contains the original block and the residual information of the prediction units generated by the prediction units 120 and 125, using transformation methods such as DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), and KLT. Whether DCT, DST, or KLT is used when transforming the residual block can be determined based on the intra-frame prediction mode information of the prediction units used to generate the residual block.
[0045] The quantization unit 135 quantizes the values that have been transformed into the frequency domain by the transformation unit 130. The quantization coefficients can vary depending on the block or the importance of the image. The values calculated by the quantization unit 135 can be supplied to the inverse quantization unit 140 and the reordering unit 160.
[0046] The reordering unit 160 can perform reordering of coefficient values for quantized residual values.
[0047] The reordering unit 160 can convert two-dimensional block shape coefficients into one-dimensional vector shapes using a coefficient scanning method. For example, the reordering unit 160 can use a zig-zag scan method to scan from the DC coefficients to the high-frequency domain coefficients and convert them into one-dimensional vector shapes. Depending on the size of the transform unit and the intra-frame prediction mode, a vertical scan that scans the two-dimensional block shape coefficients in the column direction or a horizontal scan that scans the two-dimensional block shape coefficients in the row direction can be used instead of a zig-zag scan. That is, the choice between a zig-zag scan, a vertical scan, and a horizontal scan can be determined based on the size of the transform unit and the intra-frame prediction mode.
[0048] Entropy symbolization unit 165 can perform entropy symbolization based on the value calculated by reordering unit 160. Entropy symbolization can use various symbolization methods such as Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding).
[0049] The entropy symbolization unit 165 can symbolize various information such as residual coefficient information, block type information, prediction mode information, segmentation unit information, prediction unit information, transmission unit information, motion vector information, reference frame information, block interpolation information, and filtering information from the symbolization units of the reordering unit 160 and the prediction units 120 and 125.
[0050] The entropy symbolization unit 165 can entropy symbolize the coefficient values of the symbolization unit input by the reordering unit 160.
[0051] The inverse quantization unit 140 and the inverse transform unit 145 inverse quantize the value quantized by the quantization unit 135 and inverse transform the value transformed by the transform unit 130. The residual value generated by the inverse quantization unit 140 and the inverse transform unit 145 is combined with the prediction unit predicted by the motion estimation unit, motion compensation unit and intra-frame prediction unit contained in the prediction units 120 and 125 to generate a reconstructed block.
[0052] The filtering unit 150 may include at least one of a deblocking filter, an offset correction unit, and an ALF (Adaptive Loop Filter).
[0053] Deblocking filters eliminate block distortion caused by the boundaries between blocks in the reconstructed image. The decision to apply a deblocking filter is based on the number of columns or rows of pixels contained in the current block. When applying a deblocking filter to a block, a strong filter or a weak filter can be used depending on the required deblocking intensity. Furthermore, applying a deblocking filter allows for parallel processing of horizontal and vertical filtering.
[0054] The offset correction unit can correct the offset between the deblocked image and the original image on a pixel-by-pixel basis. When performing offset correction on a specific image, the following methods can be used: dividing the pixels contained in the image into a certain number of regions, determining the regions that need to be offset, and applying the offset to those regions; or applying the offset after considering the edge information of each pixel.
[0055] It can perform ALF (Adaptive Loop Filtering) based on the comparison between the filtered reconstructed image and the original image. After dividing the pixels in the image into preset groups, it determines the filter to be applied to each group and performs filtering differently for each group. For information on whether ALF is applicable, the luminance signal can be transmitted according to each coding unit (CU). The shape and filtering coefficients of the ALF filter to be applied will vary depending on each block. Moreover, it is also possible to apply an ALF filter of the same shape (fixed shape) regardless of the characteristics of the target block.
[0056] The memory 155 can store the reconstructed blocks or images calculated by the filtering unit 150, and the stored reconstructed blocks or images can be provided to the prediction units 120 and 125 when performing inter-frame prediction.
[0057] Figure 2 This is a block diagram illustrating an image duplication device according to an embodiment of the present invention.
[0058] Please see Figure 2 The image duplexer 200 includes an entropy duplexing unit 210, a reordering unit 215, an inverse quantization unit 220, an inverse transform unit 225, a prediction unit 230, 235, a filtering unit 240, and a memory unit 245.
[0059] When the image symbolizer receives an image bitstream, the input bitstream can be symbolized by steps that are reversed compared to those of the image symbolizer.
[0060] The entropy complexation unit 210 can perform entropy complexation in the reverse order of the entropy complexation steps performed by the entropy complexation unit of the image symbolizer. For example, various methods such as Exponential Golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) can be applied corresponding to the methods performed by the image symbolizer.
[0061] The entropy complexification unit 210 can complexify information about intra-frame prediction and inter-frame prediction performed by the symbolizer.
[0062] For a bitstream entropy-complexed by entropy-complexing unit 210, reordering unit 215 can perform reordering based on the reordering method of symbolization unit. Coefficients represented in one-dimensional vector form can be reconstructed into two-dimensional block form coefficients and then reordered. After receiving information about the coefficient scan performed by symbolization unit, reordering unit 215 can perform reordering by reverse scanning based on the scan order performed by symbolization unit.
[0063] The inverse quantization unit 220 can perform inverse quantization based on the quantization parameters provided by the symbolizer and the coefficient values of the reordered block.
[0064] For the quantization results performed by the image symbolizer, the inverse transform unit 225 can perform an inverse transform on the transform unit, that is, perform inverse DCT, inverse DST, and inverse KLT on DCT, DST, and KLT. The inverse transform can be performed based on the transmission unit determined by the image symbolizer. The inverse transform unit 225 of the image symbolizer can selectively perform transform methods (e.g., DCT, DST, KLT) based on multiple pieces of information such as the prediction method, the size of the current block, and the prediction direction.
[0065] Prediction units 230 and 235 can generate prediction blocks based on the information about the generation of prediction blocks provided by entropy complexation unit 210 and the previously complexed block or image information provided by memory 245.
[0066] As mentioned earlier, when performing intra-prediction in the same way as the image symbolizer, if the size of the prediction unit is the same as the size of the transform unit, intra-prediction is performed based on the pixels to the left of the prediction unit, the pixels at the top left, and the pixels at the top. However, if the size of the prediction unit is different from the size of the transform unit when performing intra-prediction, intra-prediction can be performed using reference pixels based on the transform unit. Furthermore, intra-prediction using NxN segmentation only for the smallest symbolization unit can also be used.
[0067] Prediction units 230 and 235 may include a prediction unit discrimination unit, an inter-frame prediction unit, and an intra-frame prediction unit. The prediction unit discrimination unit receives various information from the entropy complexation unit 210, such as prediction unit information, prediction mode information of the intra-frame prediction method, and motion prediction-related information of the inter-frame prediction method. It then distinguishes prediction units within the current symbolization unit and can determine whether the prediction unit performs inter-frame prediction or intra-frame prediction. The inter-frame prediction unit 230 performs inter-frame prediction on the current prediction unit based on information contained in at least one image, either a previous image or a subsequent image containing the current image of the current prediction unit, using the inter-frame prediction information provided by the image symbolizer. Alternatively, it may perform inter-frame prediction based on information from a reconstructed portion of the current image containing the current prediction unit.
[0068] In order to perform inter-frame prediction, the motion prediction method of the prediction unit contained in the corresponding symbolized unit is determined based on the symbolized unit, which method is Skip Mode, Merge Mode, AMVP Mode, or Intra-block Copy Mode.
[0069] The intra-prediction unit (235) can generate prediction blocks based on pixel information within the current image. If the prediction unit is one that performs intra-prediction, intra-prediction can be performed based on the intra-prediction mode information of the prediction unit provided by the image symbolizer. The intra-prediction unit (235) may include an AIS (Adaptive Intra Smoothing) filter, a reference pixel interpolation unit, and a DC filter. The AIS filter performs filtering on the reference pixels of the current block, and can be applied after determining whether to apply the filter based on the prediction mode of the current prediction unit. AIS filtering can be performed on the reference pixels of the current block using the prediction mode of the prediction unit provided by the image symbolizer and the AIS filter information. If the prediction mode of the current block is a mode that does not perform AIS filtering, the AIS filter may not be applied.
[0070] If the prediction unit's prediction mode is a prediction unit that performs intra-frame prediction based on the interpolated pixel values of a reference pixel, the reference pixel interpolation unit can interpolate the reference pixel to generate reference pixels for pixel units with integer values or lower. If the current prediction unit's prediction mode is a prediction mode that generates prediction blocks without interpolating reference pixels, the reference pixel may not be interpolated. The DC filter can generate prediction blocks through filtering when the prediction mode of the current block is DC mode.
[0071] The reconstructed blocks or image can be provided to the filtering unit 240. The filtering unit 240 may include a deblocking filter, an offset correction unit, and an ALF.
[0072] The following information can be obtained from the image symbolizer: whether a deblocking filter has been applied to the corresponding block or image, and if so, whether a strong or weak filter has been applied. After receiving the deblocking filter information provided by the image symbolizer, the image deblocking filter can perform deblocking filtering on the corresponding block within the image deblocking unit.
[0073] The offset correction unit can perform offset correction on the reconstructed image based on the type of offset correction applicable to the image during symbolization and offset value information.
[0074] ALF can be applied to symbolic units based on information such as ALF applicability and ALF coefficient information provided by the symbolizer. This ALF information can be provided in a specific set of parameters.
[0075] Memory 245 stores the reconstructed image or block for use as a reference image or block, and can also provide the reconstructed image to the output unit.
[0076] As mentioned above, for the sake of clarity, the following embodiments of the present invention use the term symbolization unit for coding units, but it can be a unit that performs not only symbolization but also compositing.
[0077] Figure 3 This is an embodiment of the present invention, illustrating an image duplication method based on intra-frame prediction.
[0078] For ease of explanation, the following embodiments are based on the 35 intra-prediction modes defined by HEVC. However, the embodiments described below can still be applied even when using more than 35 intra-prediction modes (i.e., extended intra-prediction modes). Meanwhile, in the embodiments described below, the smallest unit constituting an image is referred to as a pixel, a pixel, or a sample, etc.
[0079] Please see Figure 3 If the current block is a block symbolized in intra-frame mode, the intra-frame prediction mode for the current block can be determined (step S310).
[0080] The intra prediction mode for the current block can be determined by referring to the intra prediction modes of its adjacent blocks. For example, a candidate mode list can be generated by referring to the intra prediction modes of adjacent blocks to determine the intra prediction mode for the current block. Then, the intra prediction mode for the current block is determined based on an index (e.g., the MPM (Most Probable Mode) index) indicating the intra prediction modes included in the candidate mode list, or an intra prediction mode not included in the candidate mode list is determined as the intra prediction mode for the current block.
[0081] When the intra-prediction mode of the current block is determined, the first intra-prediction can be performed based on the reference pixel information of the surrounding blocks of the current block (step S320). Here, at least one pixel contained in the neighboring blocks adjacent to the current block can be used as a reference pixel for intra-prediction of the current block.
[0082] The aforementioned surrounding blocks may include at least one of the blocks adjacent to the lower left, left, upper left, upper, upper right, right, or lower edge of the current block. If a reference pixel is unavailable, the information of an unavailable reference pixel can be substituted with the information of an available reference pixel. The availability of a reference pixel can be determined based on factors such as whether the adjacent block containing the reference pixel was duplicated before the current block, whether the adjacent block containing the reference pixel was a block symbolized in an inter-frame mode, and whether the reference pixel is contained in the same slice or tile as the current block.
[0083] The first predicted sample for the current block can be derived from the intra-frame prediction of the first frame. The following explanation assumes that the intra-frame prediction mode of the current block is Planar mode.
[0084] When the intra-prediction mode of the current block is Planar mode, the first predicted value (i.e., the value of the first predicted sample) of the target sample contained in the current block can be derived using at least one of a first reference pixel that is variably determined with the position of the target sample and a second reference pixel that is fixed regardless of the position of the target sample. Here, the first reference pixel may include at least one of a reference pixel located on the same horizontal line as the target sample (i.e., a reference pixel having the same x-coordinate value as the target sample) or a reference pixel located on the same vertical line as the target sample (i.e., a reference pixel having the same y-coordinate value as the target sample). The second reference pixel may include at least one of reference pixels located diagonally at the corner of the current block (e.g., the upper right reference pixel and the lower left reference pixel). Alternatively, the second reference pixel may include at least one of the rightmost pixel among the plurality of adjacent pixels at the upper boundary of the current block, the bottommost pixel among the plurality of adjacent pixels at the left boundary of the current block, or the adjacent pixel at the upper right corner of the current block.
[0085] Figure 4 This is an illustrative diagram used to explain the derivation process of the first predicted value for the target sample. Figure 4 In the example shown, the 8x8 block represented by the thick line indicates the current block, and the samples outside the thick line are assumed to be adjacent reference pixels of the current block. For ease of explanation, the reference pixel located diagonally at the upper right corner of the current block is called the upper right reference pixel, and the reference pixel located diagonally at the lower left corner of the current block is called the lower left reference pixel.
[0086] Please see Figure 4 When the coordinates of the upper left sample of the current block are defined as (0, 0), the first predicted sample of the target sample located at coordinates (3, 3) of the current block can be derived based on the reference pixels on the same horizontal line as the target sample (i.e., the reference pixels at coordinates (-1, 3), the lower left reference pixels (i.e., the reference pixels at coordinates (-1, 8), the reference pixels on the same vertical line as the target sample (i.e., the reference pixels at coordinates (3, -1),) and the upper right reference pixels (i.e., the reference pixels at coordinates (8, -1)).
[0087] When expressing the derivation method of the first predicted value of the target sample in mathematical terms, it can be exemplified by the following mathematical formula 1.
[0088]
Mathematical Formula 1
[0089] horPred(x,y)=(nT-1-x)×p(-1,y)+(x+1)×p(nT,-1)
[0090] verPred(x,y)=(nT-1-y)×p(x,-1)+(y+1)×p(-1,nT)
[0091] predSamples(x, y)=(horPred(x, y)+verPred(x, y)+nT)》(Log2(nT)+1)
[0092] In Equation 1 above, nT represents the size or horizontal / vertical length of the current block, and p(-1, y) and p(x, -1) represent the pixel values of the reference pixels. As specified in Equation 1, the first predicted value (predsample(x, y)) of the target sample can be derived based on the sum of the following horizontal and vertical predicted values: the horizontal predicted value is based on the upper reference pixel and the lower left reference pixel that have the same x-axis coordinate as the target sample (horPred(x, y)); the vertical predicted value is based on the left reference pixel and the upper right reference pixel that have the same y-axis coordinate as the target sample (verPred(x, y)).
[0093] At this point, the first predicted value of the boundary sample of the current block can be derived using the values of the reference pixels adjacent to the second reference pixel, without using the value of the second reference pixel. Here, the boundary sample of the current block can refer to the sample in the current block that is adjacent to the boundary of the current block. For example, the boundary sample can be the sample located in the most right column and / or the most bottom row of the current block.
[0094] As an example, according to the above mathematical formula 1, the right boundary sample of the current block (i.e., (7, y) The horizontal prediction value of the sample can be derived using only the upper right reference pixel, as shown in Equation 2.
[0095]
Mathematical Formula 2
[0096] horPred(7,y)=(8-1-7)×p(-1,y)+(7+1)×p(8,-1)=8p(8,-1)
[0097] However, in terms of similarity between the boundary sample located in the rightmost column of the current block (hereinafter referred to as the "rightmost sample") and the reference pixel located on the same x-axis as the rightmost sample (i.e., (7, -1)), the probability that the similarity is greater than that with the reference pixel adjacent to the upper right side of the current block (i.e., (8, -1)).
[0098] Therefore, the horizontal prediction value of the rightmost sample can be derived using the reference pixel located on the same vertical line as the rightmost sample (i.e., (7,-1)) instead of using the reference pixel at the upper right of the current block.
[0099] Furthermore, the vertical prediction value of the rightmost sample can be derived based on the value of the reference pixel adjacent to the lower left reference pixel (that is, the reference pixel (-1,7) that has the same y-coordinate as the bottom row of the current block) instead of the lower left reference pixel.
[0100] Similarly, the vertical prediction value of the boundary sample (hereinafter referred to as "bottom sample") located at the bottom row of the current block can be derived using a reference pixel that is on the same horizontal line as the bottom sample (i.e., the reference pixel (-1,7) that has the same x-coordinate as the rightmost column of the current block) without using the left bottom reference pixel.
[0101] Furthermore, it is also possible to derive the horizontal prediction value of the bottommost sample based on the value of the reference pixel adjacent to the reference pixel at the bottom right (that is, the reference pixel (-1,7) that has the same x-coordinate as the rightmost column of the current block), instead of based on the reference pixel at the top right.
[0102] The first predicted value of the remaining samples outside the boundary samples of the current block can also be derived using the value of the upper reference pixel that has the same x-axis coordinate as the rightmost sample or the value of the left reference pixel that has the same y-axis coordinate as the bottommost sample.
[0103] As another example, when the intra-prediction mode of the current block is planar mode, the first intra-prediction of the current block is performed using the lower left reference pixel and the upper right reference pixel. However, the values of the lower left reference pixel and the upper right reference pixel can be set to have the values of their respective neighboring reference pixels. For example, even if the lower left reference pixel is available, its value can be set to have the value of its neighboring reference sample (i.e., a reference sample with the same y-coordinate as the bottom row of the current block). Similarly, even if the upper right reference pixel is available, its value can be set to have the value of its neighboring reference sample (i.e., a reference sample with the same x-coordinate as the rightmost column of the current block).
[0104] In the above example, the execution of the first intra-frame prediction illustrates the case where the intra-frame prediction mode of the current block is planar mode, but the embodiments described later can also be applied when the intra-frame prediction mode of the current block is DC mode or directional prediction mode.
[0105] After performing the first intra-frame prediction for the current block, a second intra-frame prediction based on the filter can be performed (step S330).
[0106] The second intra-frame prediction can be performed based on the reference pixels adjacent to the current block and the first prediction sample derived from the first intra-frame prediction. In this case, whether to perform the second intra-frame prediction can be determined based on factors such as the intra-frame prediction mode of the current block, the size of the current block, and the segmentation shape of the current block. For example, the second intra-frame prediction can be performed only when the intra-frame prediction mode of the current block is planar, but the present invention is not limited to this.
[0107] The second intra-frame prediction of the present invention can be regarded as the following process, that is, applying a weighting filter to the first prediction sample generated by the first intra-frame prediction to generate the second prediction sample.
[0108] Here, the weighted filter is used to add or subtract a preset compensation coefficient to the first predicted sample or to apply a preset weighting value to the first predicted sample and the reference pixel. The compensation coefficient can be derived based on the pixel value change between the first predicted sample and the reference pixel in the current block, and / or the pixel value change between reference pixels. The preset weighting value can be a fixed constant value defined on the decoder, or a variable derived from the spatial distance between the first predicted sample and the reference pixel.
[0109] The weighted filter can be applied to the entire neighborhood of the current block, or selectively applied to a portion of the neighborhood depending on the intra-prediction pattern of the current block. For example, the weighted filter can be applied to the boundary samples of the current block. Here, boundary samples can be samples located in the leftmost column and / or the topmost row of the current block. As another example, the weighted filter can also be applied to the boundary samples and the first predicted sample adjacent to them. Alternatively, the weighted filter can be applied only to a portion of the rows and / or columns of the current block.
[0110] The range of reference pixels used by the weighted filter can change with the position of the first predicted sample, or it can be fixed regardless of the position of the first predicted sample. The following assumptions will be made, that is, in the following discussion... Figure 5 and Figure 6In this embodiment, the range of reference pixels used by the weighted filter varies with the position of the first predicted sample. An embodiment applying the weighted filter to derive the second predicted sample for the current block is described in detail below with reference to the accompanying drawings. Here, it is assumed that the second intra-frame prediction of the current block is performed based on the upper reference pixel and the left reference pixel.
[0111] Figure 5 and Figure 6 This is used to illustrate an example of performing a second-frame intra-prediction on the current block. Figure 5 An example is shown of performing a second intra-frame prediction for a portion of the boundary adjacent to a reference pixel in the first prediction sample of the current block. Figure 6 An example of performing a second intra-frame prediction for a first prediction sample that is not adjacent to the reference pixel is shown.
[0112] Using the diagonal of the current block at a preset angle as a reference, samples located to the right of the diagonal can perform second intra-frame prediction based on the upper reference pixel, while samples located to the lower side of the diagonal can perform second intra-frame prediction based on the left reference pixel. Samples located on the diagonal of the current block can perform second intra-frame prediction using both the upper and left reference pixels. When the preset angle is 45 degrees, samples whose x-axis coordinate values are the same as their y-axis coordinate values are equivalent to samples located on the diagonal of the current block. Hereinafter, samples located on the diagonal of the current block will be referred to as diagonal samples.
[0113] As an example, please refer to Figure 5 Using the top left sample of the current block (i.e., the diagonal sample at position (0, 0)) as a reference, the top boundary sample to the right of the top left sample can perform the second intra-frame prediction using the top reference pixel, and the left boundary sample below the top left sample can perform the second intra-frame prediction using the left reference pixel. The top left sample on the diagonal can perform the second intra-frame prediction using both the top reference pixel and the left reference pixel.
[0114] The filter can also be applied to samples in the remaining rows or columns of the current block, excluding the leftmost and topmost columns. For example, using the diagonal samples of the current block as a reference, samples on the right can be predicted intra-frame using the upper reference pixel, and samples at the bottom can be predicted intra-frame using the left reference pixel. Diagonal samples can be predicted intra-frame using both the upper and left reference pixels.
[0115] As an example, please refer to Figure 6Using the diagonal sample with x-axis and y-axis coordinates of 1 (i.e., the sample at position (1,1)) as a reference, the sample contained in the same row as the diagonal sample and located on the right side with the diagonal sample as a reference performs the second intra-frame prediction using the upper reference pixel, and the sample contained in the same column as the diagonal sample and located at the lower end with the diagonal sample as a reference can perform the second intra-frame prediction using the left reference pixel.
[0116] Although Figure 5 and Figure 6 Although no illustration is provided, samples with either x-coordinate or y-coordinate greater than 3 can also be subject to the weighted filter. Alternatively, the range of samples for which the weighted filter is applied can be variably determined based on factors such as the size of the current block, the segmentation pattern of the current block, and the prediction mode used for intra-frame prediction.
[0117] At the same time, when performing the second intra-frame prediction for the current block, the upper left reference pixel can also be used. As an example, the second predicted value of the diagonal sample of the current block can be derived based on the left reference pixel, the upper reference pixel, and the upper left reference pixel.
[0118] exist Figure 5 and Figure 6 In the example shown, the second intra-frame prediction is performed based on the upper and left reference pixels adjacent to the current block. Alternatively, unlike the example shown, the second intra-frame prediction can be performed using only one of the upper and left reference pixels adjacent to the current block.
[0119] At this point, the range of reference pixels used for the second intra-frame prediction can be determined based on factors such as the intra-frame prediction mode of the current block, the size of the current block, or the segmentation shape of the current block.
[0120] As an example, when the intra-prediction mode of the current block is a non-directional mode (e.g., planar mode), such as Figure 5 and Figure 6 As illustrated, a second intra-frame prediction can be performed using at least one of the left-side reference pixels and the top-side reference pixels, depending on the position of the target sample. Conversely, when the intra-frame prediction mode of the current block is a directional mode (e.g., vertical or horizontal), a second intra-frame prediction can also be performed using only the left-side reference pixels or the top-side reference pixels, regardless of the position of the target sample.
[0121] The weighted filter used for the second intra-frame prediction assigns a weighted value; that is, it assigns a weighted value to the value of the first predicted sample derived from the first intra-frame prediction, compared to the reference pixels adjacent to the current block. Here, the filter coefficients applied to each sample can be fixed constants or variables that change with the position of the first predicted sample.
[0122] As an example, the coefficients of the weighted filter can be variables that increase or decrease proportionally to the distance between the first predicted sample and the reference pixel.
[0123] The following mathematical expression 3 illustrates the mathematical formula used to derive the second predicted value (i.e., the value of the second predicted sample) of the samples contained in the top row (i.e., the first row of the current block) and the leftmost column (i.e., the first column of the current block).
[0124]
Mathematical Expression 3
[0125] predSamples(0,0)=(p(-1,0)+p(0,-1)+2p(0,0)+2)>>2
[0126] predSamples(x,0)=(p(x,-1)+3p(x,0)+2)>>2;x>0
[0127] predSamples(0,y)=(p(-1,y)+3p(0,y)+2)>>2;y>0
[0128] In the above mathematical formula 3, the filtering coefficient for the sample at the top left end of the current block where the top row and the leftmost row overlap (that is, the leftmost sample of the top row or the top sample of the leftmost column) is exemplified as [1, 2, 1]. The filtering coefficient for the sample in the leftmost column of the current block other than the diagonal sample at the top left end is exemplified as [3, 1]. The filtering coefficient for the sample in the top row of the current block other than the diagonal sample at the top left end is exemplified as [3, 1].
[0129] The following mathematical formula 4 shows an example of the derivation of the second predicted value of the sample contained in the 2 rows or 2 columns of the current block.
[0130]
Mathematical Expression 4
[0131] predSamples(1,1)=(p(-1,0)+p(0,-1)+3p(0,0)+2)>>2
[0132] predSamples(x,1)=(p(x,-1)+4p(x,0)+2)>>2;x>1
[0133] predSamples(1,y)=(p(-1,y)+4p(0,y)+2)>>2;y>1
[0134] In the above mathematical formula 4, the filtering coefficients for the diagonal samples at coordinate (1,1) are exemplified as [1,3,1], the filtering coefficients for the samples in the two rows of the current block to the right of the diagonal samples are exemplified as [4,1], and the filtering coefficients for the samples in the two columns of the current block to the bottom of the diagonal samples are exemplified as [4,1].
[0135] As illustrated in equations 3 and 4, for samples located to the right (or top) of a diagonal sample, the greater the distance from the upper reference pixel, the greater the weighting of the first predicted value for that sample. For samples located to the left (or bottom) of a diagonal sample, the greater the distance from the left reference pixel, the greater the weighting of the first predicted value for that sample.
[0136] The scope of the filter applied within the current block can also be limited to a portion of the rows or columns of the current block. For example, the filter can be applied only to the first row and the first column of the current block, or from the first row to the Nth row of the current block, or from the first column to the Mth column.
[0137] At this point, the applicable range of the filter can be determined based on factors such as the intra-prediction mode of the current block, the size of the current block, or the segmentation pattern of the current block.
[0138] As an example, if the prediction mode of the current block is a non-directional mode (e.g., a planar mode), the filter is only applied to the first row and the first column of the current block. If the prediction mode of the current block is a directional mode, the filter can be applied from the first row to the Nth row of the current block, or it can be applied from the first column to the Mth column.
[0139] If the filter is only applicable to a portion of the current block, the value of the second predicted sample (i.e., the second predicted value) that is not subject to the filter can be set to be the same as the value of the first predicted sample (i.e., the first predicted value).
[0140] When the current block contains multiple sub-blocks, the first intra-frame prediction and the second intra-frame prediction described above can be performed on a sub-block basis. In this case, the execution order of the first intra-frame prediction and the second intra-frame prediction can be the same or different from each other.
[0141] When performing the first intra-frame prediction and the second intra-frame prediction in sub-block units, at least one of the first intra-frame prediction and the second intra-frame prediction can be performed in a preset order.
[0142] The execution order of at least one of the above-mentioned first intra-frame prediction and the above-mentioned second intra-frame prediction can be determined according to the intra-frame prediction mode of the current block. The following combines... Figure 7 Detailed explanation.
[0143] Figure 7This describes the intra-prediction order based on the intra-prediction mode of the current block. For ease of explanation, it is assumed that the first and second intra-prediction frames are executed in the same order.
[0144] If the intra-prediction mode of the current block is a non-directional mode or equivalent to one of the horizontal to vertical modes (e.g., if the intra-prediction mode is equivalent to 10-26), the intra-prediction of the current block is as follows: Figure 7 As shown in (a), the execution can proceed in a “Z” pattern, starting from the upper left terminal block.
[0145] If the intra-prediction mode of the current block is directional and the intra-prediction mode has a number lower than the horizontal directional mode (e.g., if the intra-prediction mode is 2-9), the intra-prediction of the current block is as follows: Figure 7 As shown in (b), the execution can start from the lower left terminal block and proceed in reverse Z order.
[0146] If the intra-prediction mode of the current block is directional and the intra-prediction mode has a number greater than that of the vertical direction mode (e.g., intra-prediction mode 27-34), the intra-prediction of the current block is as follows: Figure 7 (c) shows that the execution can start from the upper right terminal block and proceed in reverse Z order.
[0147] Please see Figure 3 If the second prediction sample of the current block is derived through the first intra-frame prediction and the second intra-frame prediction, the reconstruction sample of the current block can be derived after adding the residual sample to the second prediction sample (step S340).
[0148] The residual samples can be derived by selectively performing at least one of inverse quantization or inverse transformation on the transform coefficients (or residual coefficients) of the current block obtained from the bitstream. In this case, the transform form used for the inverse transformation can utilize DCT, DST, KLT, etc. Alternatively, one of the aforementioned transform forms can be selectively used after considering factors such as the prediction mode of the current block, the size of the current block (e.g., PU, TU), and luminance / chromaticity components.
[0149] A loop filter can be applied to the reconstructed sample derived after adding the second predicted sample and the residual sample (step S350). The loop filter may include at least one of a deblocking filter, a SAO (Sample Adaptive Offset) filter, and an ALF (Adaptive Loop Filter).
[0150] The various components described in the foregoing embodiments of the present invention can be implemented by at least one of a DSP (Digital Signal Processor), a processor, a controller, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), other electronic devices, and combinations thereof.
[0151] Alternatively, at least one function or process described in the foregoing embodiments of the present invention can be implemented by software and the software can be recorded to a recording medium. Recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floppy disks; and special hardware devices such as ROMs, RAMs, and flash memory that store and execute program commands. Program commands include machine language code generated by a compiler, and high-level language code executed by a computer using tools such as an interpreter. The aforementioned hardware devices can be configured by operating one or more software modules to perform the processing operations required by the present invention, and vice versa. The constituent elements, functions, and processes described in the embodiments of the present invention can also be implemented by a combination of hardware and software.
[0152] Although the present invention has been described above only by specific details such as specific constituent elements and limited embodiments and drawings, it is only provided to help to understand the present invention in its entirety. The present invention is not limited to the above embodiments, and those skilled in the art can make various modifications and variations from the above description.
[0153] Therefore, the spirit of this invention should not be limited to the embodiments described above. The scope of the spirit of this invention includes not only the claims, but also everything that is equivalent to or modifies the claims.
[0154] Industrial applications
[0155] This invention can be applied to the symbolization / complexing of images.
Claims
1. A video decoding method, characterized in that, Includes the following steps: The MPM list of the current block is determined based on the adjacent blocks of the current block; The intra-prediction mode of the current block is determined based on the MPM list; When the intra-frame prediction mode is DC mode, a predicted pixel is generated in the current block by performing DC intra-frame prediction on the current block based on at least one neighboring pixel of the current block; and A weighted filter is applied to filter the predicted pixels of the current block. The predicted pixel, filtered by the weighted filter, is determined based on a weighted sum of the upper reference pixel, the left reference pixel, and the predicted pixel. The left reference pixel of the predicted pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. When at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero, the predicted pixel is filtered by the weighted filter. When the distance to the upper reference pixel is greater than a preset value, the first weighted value is determined to be zero; and when the distance to the left reference pixel is greater than a preset value, the second weighted value is determined to be zero. The preset value is determined based on the size of the current block.
2. The video decoding method according to claim 1, characterized in that, Whether to filter the predicted pixels is determined based on the intra-prediction mode of the current block.
3. The video decoding method according to claim 1, characterized in that, The second weighted value of the left reference pixel is derived based on the distance between the predicted pixel and the left reference pixel, and the first weighted value of the upper reference pixel is derived based on the distance between the predicted pixel and the upper reference pixel.
4. The video decoding method according to claim 1, characterized in that, The left reference pixel and the upper reference pixel are included in the adjacent pixels.
5. A video encoding method, characterized in that, Includes the following steps: Determine the intra-prediction mode for the current block; The MPM list of the current block is determined based on the neighboring blocks of the current block, and the intra-prediction mode of the current block is encoded based on the MPM list of the current block; When the intra-frame prediction mode is DC mode, a predicted pixel is generated in the current block by performing DC intra-frame prediction on the current block based on at least one neighboring pixel of the current block; and A weighted filter is applied to filter the predicted pixels of the current block. The predicted pixel, filtered by the weighted filter, is determined based on a weighted sum of the upper reference pixel, the left reference pixel, and the predicted pixel. When the internal prediction mode of the current block is a non-directional mode, the left reference pixel of the predicted pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. When at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero, the predicted pixel is filtered by the weighted filter. When the distance between the upper reference pixel and the left reference pixel is greater than a preset value, the first weighted value is determined to be zero, and when the distance between the upper reference pixel and the left reference pixel is greater than a preset value, the second weighted value is determined to be zero. and The preset value is determined based on the size of the current block.
6. The video encoding method according to claim 5, characterized in that, Whether to filter the predicted pixels is determined based on the intra-prediction mode of the current block.
7. The video encoding method according to claim 5, characterized in that, The second weighted value of the left reference pixel is derived based on the distance between the predicted pixel and the left reference pixel, and the first weighted value of the upper reference pixel is derived based on the distance between the predicted pixel and the upper reference pixel.
8. The video encoding method according to claim 5, characterized in that, The left reference pixel and the upper reference pixel are included in the adjacent pixels.
9. A method for transmitting a bit stream, comprising the following steps: Generate bitstreams using video encoding methods; and Transmit the bit stream, in, The video encoding method includes the following steps: Determine the intra-prediction mode for the current block; The MPM list of the current block is determined based on the neighboring blocks of the current block, and the intra-prediction mode of the current block is encoded based on the MPM list of the current block; When the intra-frame prediction mode is DC mode, a predicted pixel is generated in the current block by performing DC intra-frame prediction on the current block based on at least one neighboring pixel of the current block; and A weighted filter is applied to filter the predicted pixels of the current block. The predicted pixel, filtered by the weighted filter, is determined based on a weighted sum of the upper reference pixel, the left reference pixel, and the predicted pixel. When the internal prediction mode of the current block is a non-directional mode, the left reference pixel of the predicted pixel is included in the same row as the predicted pixel, and the upper reference pixel of the predicted pixel is included in the same column as the predicted pixel. When at least one of the first weighted value of the upper reference pixel and the second weighted value of the left reference pixel is greater than zero, the predicted pixel is filtered by the weighted filter. When the distance between the upper reference pixel and the left reference pixel is greater than a preset value, the first weighted value is determined to be zero, and when the distance between the upper reference pixel and the left reference pixel is greater than a preset value, the second weighted value is determined to be zero. and The preset value is determined based on the size of the current block.
Citation Information
Patent Citations
Method and apparatus of directional intra prediction
CN103597831A
Intra prediction improvements for scalable video coding
CN104584550A