OA20149A - Transform selection in a video encoder and/or video decoder. - Google Patents

Transform selection in a video encoder and/or video decoder. Download PDF

Info

Publication number
OA20149A
OA20149A OA1202000202 OA20149A OA 20149 A OA20149 A OA 20149A OA 1202000202 OA1202000202 OA 1202000202 OA 20149 A OA20149 A OA 20149A
Authority
OA
OAPI
Prior art keywords
prédiction
block
determining
intra
transform
Prior art date
Application number
OA1202000202
Inventor
Ruoyang YU
Zhi Zhang
Rickard Sjöberg
Original Assignee
Telefonaktiebolaget Lm Ericsson ( Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson ( Publ) filed Critical Telefonaktiebolaget Lm Ericsson ( Publ)
Publication of OA20149A publication Critical patent/OA20149A/en

Links

Abstract

A process for sclccting a transform set for a prediction block. The proccss can be used in both an cncodcr and a dccoder. ® For example, the process can be used in both an cncodcr and a decoder for a prediction block that has been predicted from a reference O block In some embodiments, both the prediction block and the reference block arc intra blocks.

Description

TRANSFORM SELECTION IN A VIDEO ENCODER AND/OR VIDEO DECODER
TECHNICAL FIELD
This disclosure relates to video encoding and/or decoding.
BACKGROUND
This disclosure relates to the encoding and/or decoding of a video sequence, which consists of a sequence of pictures.
Components
Each picture of the video sequence consists of one or more components. Each component can be described as a two-dimensional rectangular array of sample values. It is common that a picture in a video sequence consists of three components: i) a luma component (Y), where the sample values are luma values; ii) a first chroma component (Cb), where the sample values are chroma values; and iii) a second chroma component (Cr), where the sample values are chroma values.
Other examples include Y’ Cb Cr, YUV and ICjCp. In ICjCp, I is the “intensity luma” component. For the remainder of this document we may refer to any luma component Y’, Y or I as Y or simply luma. It is common that the dimensions of the chroma components are smaller than the luma components by a factor of two in each dimension. For example, the size of the luma component of an HD picture would be 1920x1080 and the chroma components would each hâve the dimension of 960x540. Components are sometimes referred to as color components.
Blocks and Units
A block is one two-dimensional array of samples corresponding to an area of a picture, and a unit consists of one or more blocks. In video coding, each component is split into blocks and the coded video bit stream consist of a sériés of blocks. A “transform block” is a block to which a transform is applied. A “prédiction block” is a block to which a single prédiction mode is applied.
It is common in video coding that the picture is split into units that cover a spécifie area of the picture, referred to as a “picture area.” Each unit consists of ail blocks that make up that picture area and each block belongs fully to one unit. The Coding Unit (CU) in HEVC is an example of a unit.
In HEVC, some decoding processes are done at the Coding Unit level, some are done at the prédiction blocks, and some at the transform blocks.
In HEVC, there are two kinds of prédiction types for a prédiction block: intra prédiction, which only uses prédiction from previous decoded samples of the current picture for prédiction, and inter prédiction, which uses prédiction from at least one previously decoded picture. A prédiction block that is generated using intra prédiction can be called an “intra block,” and a prédiction block generated using inter prédiction can be called an “inter block.”
In the current versatile video coding (VVC) standardization development, a CU can implicitly be divided into multiple of transform blocks. Implicit transform blocks can however only appear when the CU size has a width or height that is larger than the maximum transform size. When a CU prédiction type is intra prédiction, the same transform block implicit split mechanism is applied to prédiction block. The size of transform block is the same as the size of prédiction block when CU prédiction type is intra prédiction. In other words, the transform and prédiction operate on the same two-dimensional array when CU prédiction type is intra prédiction.
Intra prédiction
In HEVC, the intra prédiction generates the samples for a prédiction block based on samples from previously decoded CUs of the same picture. These samples are referred to as “reference samples.” When a previously decoded CU is not available, the corresponding référencé samples are padded from the nearest available left-bottom or right-top reference samples.
In HEVC, there are 35 intra prédiction modes: DC, planar and 33 angular modes. Each of these 33 angular modes represent a pre-defmed prédiction direction. The intra prédiction then follows the direction to predict samples for a prédiction block corresponding to an area of the picture based on spatial extrapolation of reference samples corresponding to a neighboring area of the picture.
The current VVC development defines a set of tools called bench mark sets (BMS). The BMS consists of tools that are likely for inclusion in the standard. The BMS extends the existing HEVC’s intra directions to support up to 67 intra prédiction modes.
Residual, primary transform and quantization
A residual block consists of residual samples that are obtained by taking the sample value différence between the original samples (“original block”) corresponding to an area of the picture and the predicted samples corresponding to the area of the picture (i.e., the predicted block for the area of the picture). The residual block is further processed by using a spatial core transform to produce primary-transformed (DCT/DST transformed) transform coefficients. The transform is a process to decorrelate the information of the residual block into frequency domain. In HEVC, the types of spatial core transform include DCT-II and 4x4 DST-VII. The spatial core transform is sometimes referred to as primary transform.
The resulting primary-transformed (DCT/DST transformed) transform coefficients (or simply “transform coefficients” for short) are then quantized according to a quantization parameter (QP) which Controls the précision of the quantized coefficients. The quantized coefficients can be referred to as residual coefficients. A high QP would resuit in low précision of the coefficients and thus low fidelity of the residual block. The non-zero residual coefficients are signaled in the video bit stream. A décoder then receives the non-zero residual coefficients, applies inverse quantization and inverse transform to dérivé the residual block. If ail residual coefficients are 0 after quantization, a flag is signaled in the video bit stream, therefore a décoder does not need to apply inverse quantization and inverse transform for the block.
Non-separable secondary transform (NSST)
NSST is applied for intra blocks (i.e., is applied when the residual block is generated using a predicted block that was generated suing intra prédiction). It is a secondary transform which opérâtes on the transform coefficients. On the encoder side, a forward NSST is applied between forward core transform and quantization. On the décoder side, an inverse NSST is applied between de-quantization and inverse core transform. In the current VVC, the NSST is applied only on the low-frequency transformed coefficients, i.e. top-left 4x4 transformed coefficients.
BMS tools improve the adaptability of transform process since the DCT/DST-based transform cannot fully decorrelate the residual signal, especially when there are strong directional information présent.
For each of the angular modes, a NSST transform set of 3 different matrices is defined. For DC or planar mode, a NSST transform set of 2 different matrices is defined. In BMS, each NSST transform set is assigned an index, which identifies the transform set. A mapping between the intra prédiction modes and the NSST transform set indices is defined using a look-up table. That is, a look-up table is used to map each of the intra prédiction modes to an transform set index, thereby mapping each of the intra prédiction modes to the transform set identified by the index to which the intra prédiction mode is mapped.
Cross-component prédiction
BMS includes cross-component linear model (CCLM) prédiction modes. CCLM is a spécial intra prédiction method for the chroma component. The chroma samples are predicted based on the reconstructed luma samples by using a linear model as follows: pred_C(i,j) = a rec_L'(i,j)+ β, where pred_C(i,j) represents the predicted chroma samples in a CU and rec_L’(i,j) represents the downsampled reconstructed luma samples (in case chroma has reduced resolution compared to luma). Parameters a and β are derived by minimizing the régression error between the neighboring reconstructed luma and chroma samples around the prédiction block.
SUMMARY
When CCLM is used to generate a particular prédiction block comprising chroma components (i.e., a chroma component prédiction block), the current solution uses the intra planar mode as the entry for selecting the transform set (e.g., NSST transform set) for the particular prédiction block - - i.e., the transform set that is used to transform the transform coefficients that were generated by transforming the residual block that was generated based on the particular prédiction block. The selected transform set, however, might not be well suitable because there can be a directional pattern présent in the prédiction block (e.g., in the chroma component).
To overcome this problem, this disclosure describes an improved process for selecting the transform set for a prédiction block. The process can be used in both an encoder and a décoder. For example, the process can be used in both an encoder and a décoder for a prédiction block that has been predicted from a référencé block. In some embodiments, both the prédiction block and the référencé block are intra blocks.
In one embodiment (i.e., an encoder embodiment), the process includes determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a référencé block from which the prédiction block is generated to détermine the directional pattern. The method also includes selecting a transform set (e.g., an NSST transform set) for the prédiction block based on the determined directional pattern. The method further includes using the transform set selected for the prédiction block based on the determined directional pattern transform transforming data derived from the prédiction block (e.g., a residual block derived from the prédiction block and an original block or transform coefficients generated as a resuit of transforming the residual block).
In another embodiment (i.e., a décoder embodiment), the process includes determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to déterminé the directional pattern. The process also includes selecting an inverse transform set (e.g., an inverse NSST transform set) for the prédiction block based on the determined directional pattern. The process iùrther includes inverse transforming data (e.g., a transform coefficient block after de-quantization) using the inverse transform set selected based on the determined directional pattern.
In some embodiments, the reference block has an intra prédiction mode, and determining the directional pattern comprises or consists of determining the reference block’s intra prédiction mode. In some embodiments, the process further comprises maintaining mapping information that maps each intra prédiction mode included in a particular set of intra prédiction modes to a transform set index, the reference block’s intra prédiction mode is included in the particular set of intra prédiction modes, and selecting the transform set or inverse transform set comprises using the mapping information to identify the transform set index to which the reference block’s intra prédiction mode is mapped.
In some embodiments, the prédiction block belongs to a chroma color component and the reference block belongs to a luma color component.
In some embodiments, the process further comprises generating the prédiction block using the reference block and a cross-component linear model (CCLM) prédiction mode.
In some embodiments, the prédiction block belongs to a color component and the reference block belongs to the same color component.
In some embodiments, the process further includes generating the prédiction block using the reference block and an intra block copy (IBC) tool.
In some embodiments, determining the directional pattern includes the following steps: defining a set of two or more intra prédiction modes, the set of set of two or more intra prédiction modes comprising the intra prédiction mode of the reference block and a second intra prédiction mode; for each intra prédiction mode included in the set of intra prédiction modes, 5 generating a temporary block; and using the generated temporary blocks and the prédiction block to select one of the intra prédiction modes from the set of intra prédiction modes, wherein the selected intra prédiction mode represents the directional pattern such that the transform set is selected based on the selected intra prédiction mode.
In some embodiments, the encoding process further includes determining that a set of conditions is satisfied, wherein the step of transforming the data using the transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
In some embodiments, the decoding process further includes determining that a set of conditions is satisfied, wherein the step of transforming the data using the transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
In some embodiments, determining that the set of conditions is satisfied comprises: determining the prédiction block’s intra prédiction mode; and determining that the prédiction block’s intra prédiction mode satisifies a certain condition (e.g., is above a first threshold (Tl), where Tl may equal 66).
In some embodiments, determining that the set of conditions is satisfied comprises determining that the prédiction block was generated using CCLM.
In some embodiments, determining that the set of conditions is satisfied comprises: determining the number of non-zero transform coefficients (N) of the reference block; and determining that N satisfies a certain condition (e.g., N is at or below a certain threshold (T2)).
In some embodiments, determining that the set of conditions is satisfied comprises: determining the QP used for the reference block; and determining that the QP satisfies a certain condition (e.g., QP is at or above a certain threshold (T3)).
In some embodiments, determining that the set of conditions is satisfied comprises determining that a particular flag received from an encoder is set to a certain value. Thus, in some embodiments, a block level flag can be signaled in the video bit stream. In such an embodiment, the reference block is used to détermine the directional pattern only when the flag is set to 1 (or other predefined value).
In some embodiments, transforming data using the transform set selected based on the determined directional pattern comprises transforming a residual block using the selected transform set.
In some embodiments, transforming data using the transform set selected based on the determined directional pattern comprises using a primary transform unit to transform a residual block to produce the data and using the selected transform set to transform the data.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated herein and form part of the spécification, illustrate various embodiments.
FIG. 1 illustrâtes a System according to an embodiment.
FIG. 2 illustrâtes an example table mapping intra prédiction modes to a particular transform set index.
FIG. 3 illustrâtes a 4x4 block.
FIG. 4 illustrâtes a process according to one embodiment.
FIG. 5 illustrâtes a process according to one embodiment.
FIG. 6 illustrâtes processes according to one embodiment.
FIG. 7 is a block diagram of an apparatus according to one embodiment.
FIG 8. illustrâtes functional units of an encoder according to an embodiment.
FIG 9. illustrâtes functional units of an encoder according to an embodiment.
DETAILED DESCRIPTION
FIG. 1 illustrâtes a System 100 according to an example embodiment. System 100 includes an encoder 102 in communication with a décoder 104 via a network 110 (e.g., the Internet or other network).
Encoder 102 includes a primary transform unit (PTU) 111, a secondary transform unit (STU) 112 (e.g., an NSST unit), and a quantization unit (QU) 113. As explained above, primary transform unit 111 may implement a spatial core transform that performs a process to decorrelate a residual block into frequency domain (i.e., produce transform coefficients), secondary transform unit 112 may be applied for intra blocks and may operate on the transform coefficients (i.e., the output of primary transform unit 111) to produce coefficients that will be quantized by quantization unit 113 according to a QP which Controls the précision of the quantized coefficients. Likewise, décoder 104 includes a de-quantization unit 123, an inverse second transform unit 122, and an inverse primary transform unit 121.
As further shown in FIG. 1, each of the encoder 102 and the décoder 104 may include a selector 114, 124 that functions to select a transform set (e.g., a primary transform set or a secondary transform set) or an inverse-transform set, respectively, for a prédiction block. Advantageously, in some scénarios, the selector 114, 124 détermines a directional pattern in the prédiction block using information from the reference block from which the prédiction block is predicted and then selects the transform set (or inverse-transform) based on the determined directional pattern. In some embodiments, both the prédiction block and the reference block are intra blocks. In some embodiments, determining the directional pattern comprises or consists of the transform selector 114, 124 determining the intra prédiction mode of the reference block and/or reconstructed sample values of the reference block.
For example, in one embodiment, selector 114 selects the transform set for the prédiction block by determining the intra prédiction mode of the reference block used to generate the prédiction block (i.e., the prédiction block’s reference block) and then uses information (e.g., a table) that maps each intra prédiction mode included in a set of intra prédiction modes to a particular transform set (e.g., to a transform set index that identifies a transform set) to select the transform set to which the determined intra prédiction mode is mapped.
FIG. 2 illustrâtes an example table mapping each one of intra prédiction modes 0 to 66 to a transform set index. Thus, for example, if selector 114 détermines that the intra prédiction mode of the prédiction block’s reference block is 66, then selector 114 will select for the prédiction block the transform set identified by transform set index 2. In other words, in one embodiment, selecting the transform set for the prédiction block using the determined directional pattern consists of using the intra prédiction mode for the reference block as the entry for selecting the transform set.
The selected transform set is then applied by the primary transform unit 111 or secondary transform unit 112, and the selected inverse-transform is then applied by the primary inverse transform unit 121 or the secondary inverse transform unit 122. An advantage of this process is that is provides better de-correlation of chroma components’ residual signal when, for example, CCLM is used.
In one embodiment, the selected transform set is a NSST transform set or any other directional-dependent transform set. The selected transform set for the prédiction block can be used either as a primary transform which opérâtes on the residual block generated based on the prédiction block and the original block corresponding to the prédiction block or used as a secondary transform which opérâtes on the transform coefficients produced as a resuit of the primary transform unit transforming the residual block. The process can be applied for a single color component or to ail color components. Examples of color components are luma, Cb and Cr.
In some embodiments, the prédiction block belongs to a chroma color component and the reference block belongs to a luma color component. One example is when CCLM mode is used. In some embodiments, both the prédiction block and reference block belong to the same color component. One example is when the intra block copy (IBC) tool in range extension of HEVC is used. The tool créâtes a prédiction block by referencing previously coded blocks in the same picture or slice. Preferably, this embodiment is applied when the picture or slice is intra.
In some embodiments, determining the directional pattern in the prédiction block using information from the reference block comprises selector 114, 124 selecting an intra prédiction mode using both the reference block’s intra prédiction mode and the prédiction block. Selector 114 (124) then uses the selected intra prédiction mode to directly select the transform set (inverse transform set). For example, when CCLM is used, the génération process for the prédiction block involves downsampling and linear mapping of the referenced luma block’s reconstructed samples.
In one embodiment, the following steps are performed by selector 114 (124) to select the intra prédiction mode that will be used to select the transform set (inverse-transform set):
Firstly, a set of intra prédiction modes is defined. The set includes the reference block’s intra prédiction mode (L_dir) and includes a few additional modes. The additional modes can contain the adjacent modes to L_dir, it can also contain non-adjacent intra prédiction mode DC or planar.
For each mode included in the set, the selector 114, 124 uses samples from the first row and first column of the prédiction block (P) (assuming the size is MxN) to predict the remaining samples (size of (M-l)x(N-l)) inside P. An example is shown in FIG. 3. In other words, for each mode included in the set, a temporary block T with (M-l)x(N-l) is generated using intra prédiction method.
After the block T is generated, the samples in T are compared against the corresponded samples of P. The comparison can be done by calculating the sum of absolute différence (SAD), as shown below.
S AD = Σ\Ρ^-Τυ\ i,j
The intra prédiction mode that gives the smallest SAD is selected to represent the directional pattern (i.e., is the selected intra prédiction mode that is used to directly select the transform (inverse-transform) set.
FIG. 4 is a flow chart illustrating a process 400, according to an embodiment, that is performed by encoder 102.
Process 400 may begin in step s402 in which selector 114 détermines a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern.
In some embodiments, determining the directional pattern comprises or consists of the selector 114 determining the reference block’s intra prédiction mode.
In step s404, selector 114 selects a transform set for the prédiction block based on the determined directional pattern (e.g., based on the reference block’s intra prédiction mode).
In step s406, a transform unit of encoder 102 (e.g., primary transform unit 111 or secondary transform unit 112) uses the transform set selected for the prédiction block based on the determined directional pattern to transform data derived from the prédiction block (e.g., a residual block derived from the prédiction block and an original block or transform coefficients generated as a resuit of transforming the residual block derived from the prédiction block). For example, primary transform unit 111 transforms the residual block using the selected transform set or secondary transform unit 112 transforms the output of primary transform unit 111 using the selected transform set.
FIG. 5 is a flow chart illustrating a process 500, according to an embodiment, that is performed b y décoder 104.
Process 500 may begin in step s502 in which selector 124 détermines a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern.
In step s504, selector 124 selects an inverse transform set (e.g., an inverse NSST transform set) for the prédiction block based on the determined directional pattern.
In step s506, an inverse transform unit of décoder 104 (e.g., primary inverse transform unit 121 or secondary inverse transform unit 122) inverse transforms data using the inverse transform set selected based on the determined directional pattern. For example, primary transform unit 121 inverse transforms the output of secondary transform unit 122 using the selected inverse transform set or secondary inverse transform unit 122 inverse transforms the output of the de-quantization unit 123 using the selected inverse transform set.
In some embodiments, process 400 and/or 500 further comprises maintaining mapping information (e.g., a table) that maps each intra prédiction mode included in a particular set of intra prédiction modes (e.g., modes 0 to 66) to a transform set index that identifies a transform set. The reference block’s intra prédiction mode is included in the particular set of intra prédiction modes, and selecting the transform set (or inverse transform set) comprises using the mapping information to identify the transform set index to which the reference block’s intra prédiction mode is mapped.
In some embodiments, the prédiction block belongs to a chroma color component and the reference block belongs to a luma color component.
In some embodiments, the process further includes generating the prédiction block using the reference block and a cross-component linear model (CCLM) prédiction mode.
In some embodiments, the prédiction block belongs to a color component and the reference block belongs to the same color component.
In some embodiments, the process also includes generating the prédiction block using the reference block and an intra block copy (IBC) tool.
In some embodiments, determining the directional pattern comprises: defining a set of two or more intra prédiction modes, the set of set of two or more intra prédiction modes comprising the intra prédiction mode of the reference block and a second intra prédiction mode; for each intra prédiction mode included in the set of intra prédiction modes, generating a temporary block; and using the generated temporary blocks and the prédiction block to select one of the intra prédiction modes from the set of intra prédiction modes, wherein the selected intra prédiction mode represents the directional pattern such that the transform set is selected based on the selected intra prédiction mode.
As illustrated in FIG. 6, in some embodiments, process 400 and 500 further include determining that a set of one or more conditions is satisfied (see steps s601a and s601b, respectively), wherein the data is transformed (inverse transformed) using the transform (inverse transform) set selected in step s404 (s504) as a resuit of determining that the set of conditions is satisfied. That is, if the set of conditions are not satisfied, the data will be transformed using the transform set selected in the conventional manner (e.g., selected based on the prédiction block’s intra prédiction mode) (see steps s602a and s602b).
In some embodiments, determining that the set of conditions is satisfied comprises: determining the prédiction block’s intra prédiction mode; and determining that the prédiction block’s intra prédiction mode satisifies a certain condition (e.g., is above a first threshold (Tl), where Tl may equal 66).
In some embodiments, determining that the set of conditions is satisfied comprises determining that the prédiction block was generated using CCLM.
In some embodiments, determining that the set of conditions is satisfied comprises: determining the number of non-zero transform coefficients (N) of the reference block; and determining that N satisfies a certain condition (e.g., N is at or below a certain threshold (T2)).
In some embodiments, determining that the set of conditions is satisfied comprises: determining the QP used for the reference block; and determining that the QP satisfies a certain condition (e.g., QP is at or above a certain threshold (T3)).
In some embodiments, determining that the set of conditions is satisfied comprises determining that a particular flag received from an encoder is set to a certain value.
FIG. 7 is a block diagram of an apparatus 701 for implementing encoder 102 or décoder 104, according to some embodiments. As shown in FIG. 7, network apparatus 701 may comprise: processing circuitry (PC) 702, which may include one or more processors (P) 755 (e.g., one or more general purpose microprocessors and/or one or more other processors, such as an application spécifie integrated circuit (ASIC), field-programmable gâte arrays (FPGAs), and the 12 like), which processors may be co-Iocated in a single housing or data center or may be geographically distributed; a network interface 748 comprising a transmitter (Tx) 745 and a receiver (Rx) 747 for enabling apparatus 701 to transmit data to and receive data from other nodes connected to network 110 (e.g., an Internet Protocol (IP) network) to which network interface 748 is connected; and a local storage unit (a.k.a., “data storage System”) 708, which may include one or more non-volatile storage devices and/or one or more volatile storage devices. In embodiments where PC 702 includes a programmable processor, a computer program product (CPP) 741 may be provided. CPP 741 includes a computer readable medium (CRM) 742 storing a computer program (CP) 743 comprising computer readable instructions (CRI) 744. CRM 742 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 744 of computer program 743 is configured such that when executed by PC 702, the CRI causes apparatus 701 to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, apparatus 701 may be configured to perform steps described herein without the need for code. That is, for example, PC 702 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
An advantage of the processes described herein is that they provide better decorrelation of chroma components’ residual signal, particularly when CCLM is used. One example is when the luma and chroma components are using the same CU split. The method is applied on chroma components which are predicted by CCLM. The luma intra prédiction mode is used to select the NSST transform set. The reference is VVC with BMS setting. The BD rate performance with ail intra configuration is provided as follows:
Y U V
Class Al -0,07% -0,51% -0,77%
Class A2 -0,01% -0,31% -0,32%
Class B -0,01% -0,24% -0,24%
Class C 0,04% -0,23% -0,35%
Class E 0,02% -0,32% 0,04%
Overall 0,00% -0,30% -0,32%
ClassD I 0,04% -0,31% -0,35% |
Embodiments
1. A method for encoding a video sequence comprising a plurality of pictures, the method comprising: determining (s402) a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern; selecting (s404) a transform set (e.g., an NSST transform set) for the prédiction block based on the determined directional pattern; and using (s406) the transform set selected for the prédiction block based on the determined directional pattern transform transforming data derived from the prédiction block (e.g., a residual block derived from the prédiction block and an original block or transform coefficients generated as a resuit of transforming the residual block).
2. A method for decoding a video sequence comprising a plurality of pictures, the method comprising: determining (s502) a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern; selecting (s504) an inverse transform set (e.g., an inverse NSST transform set) for the prédiction block based on the determined directional pattern; and inverse transforming (s506) data (e.g., a transform coefficient block after de-quantization) using the inverse transform set selected based on the determined directional pattern.
3. The method of embodiment 1 or 2, wherein the reference block has an intra prédiction mode, and determining the directional pattern comprises or consists of determining the reference block’s intra prédiction mode.
4. The method of embodiment 3, wherein the method further comprises maintaining mapping information that maps each intra prédiction mode included in a particular set of intra prédiction modes to a transform set index, the reference block’s intra prédiction mode is included in the particular set of intra prédiction modes, and selecting the transform set or inverse transform set comprises using the mapping information to identify the transform set index to which the reference block’s intra prédiction mode is mapped.
5. The method of any one of embodiments 1-4, wherein the prédiction block belongs to a chroma color component and the reference block belongs to a luma color component.
6. The method of embodiment 5, further comprising generating the prédiction block using the reference block and a cross-component linear model (CCLM) prédiction mode.
7. The method of any one of embodiments 1-4, wherein the prédiction block belongs to a color component and the reference block belongs to the same color component.
8. The method of embodiment 7, further comprises generating the prédiction block using the reference block and an intra block copy (IBC) tool.
9. The method of any one of embodiments 3-8, wherein determining the directional pattern comprises: defining a set of two or more intra prédiction modes, the set of set of two or more intra prédiction modes comprising the intra prédiction mode of the reference block and a second intra prédiction mode; for each intra prédiction mode included in the set of intra prédiction modes, generating a temporary block; and using the generated temporary blocks and the prédiction block to select one of the intra prédiction modes from the set of intra prédiction modes, wherein the selected intra prédiction mode represents the directional pattern such that the transform set is selected based on the selected intra prédiction mode.
10. The method of any one of embodiments 1 or 3-9, further comprising determining that a set of conditions is satisfied, wherein the step of transforming the data using the transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
11. The method of any one of embodiments 2 or 3-9, further comprising determining that a set of conditions is satisfied, wherein the step of transforming the data using the transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
12. The method of embodiment 10 or 11, wherein determining that the set of conditions is satisfied comprises: determining the prédiction block’s intra prédiction mode; and determining that the prédiction block’s intra prédiction mode satisifies a certain condition (e.g., is above a first threshold (Tl), where Tl may equal 66).
13. The method of embodiment 10 or 11, wherein determining that the set of conditions is satisfied comprises determining that the prédiction block was generated using CCLM.
14. The method of any one of embodiments 10-13, wherein determining that the set of conditions is satisfied comprises: determining the number of non-zero transform coefficients (N) of the reference block; and determining that N satisfïes a certain condition (e.g., N is at or below a certain threshold (T2)).
15. The method of any one of embodiments 10-14, wherein determining that the set of conditions is satisfied comprises: determining the QP used for the reference block; and determining that the QP satisfïes a certain condition (e.g., QP is at or above a certain threshold (T3)).
16. The method of embodiment 11, wherein determining that the set of conditions is satisfied comprises determining that a particular flag received from an encoder is set to a certain value.
17. The method of embodiment 1, wherein transforming data using the transform set selected based on the determined directional pattern comprises transforming a residual block using the selected transform set.
18. The method of embodiment 1, wherein transforming data using the transform set selected based on the determined directional pattern comprises using a primary transform unit to transform a residual block to produce the data; and using the selected transform set to transform the data.
19. An encoder (102) for encoding a video sequence comprising a plurality of pictures, the encoder being adapted to: détermine a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to déterminé the directional pattern; select a transform set (e.g., an NSST transform set) for the prédiction block based on the determined directional pattern; and use the transform set selected for the prédiction block based on the determined directional pattern transform transforming data derived from the prédiction block (e.g., a residual block derived from the prédiction block and an original block or transform coefficients generated as a resuit of transforming the residual block).
20. A décoder (104) for decoding a video sequence comprising a plurality of pictures, the décoder being adapted to: détermine a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern; select an inverse transform set (e.g., an inverse NSST transform set) for the prédiction block based on the determined directional pattern; and inverse transform (s506) data (e.g., a transform coefficient block after de-quantization) using the inverse transform set selected based on the determined directional pattern.
21. An encoder (800, see FIG. 8) for encoding a video sequence comprising a plurality of pictures, the encoder comprising: a directional pattern determining unit (802) for determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern; a selecting unit (804) for selecting a transform set (e.g., an NSST transform set) for the prédiction block based on the determined directional pattern; and a transforming unit (806) for using the transform set selected by the selecting unit based on the determined directional pattern transform transforming data derived from the prédiction block (e.g., a residual block derived from the prédiction block and an original block or transform coefficients generated as a resuit of transforming the residual block).
22. A décoder (900, see FIG. 9) for decoding a video sequence comprising a plurality of pictures, the décoder being adapted to: a directional pattern determining unit (902) for determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern; a selecting unit (904) for selecting an inverse transform set (e.g., an inverse NSST transform set) for the prédiction block based on the determined directional pattern; and an transforming unit (906) for inverse transforming (s506) data (e.g., a transform coefficient block after de-quantization) using the inverse transform set selected by the selecting unit based on the determined directional pattern.
While various embodiments are described herein, it should be understood that they hâve been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described éléments in ail possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was donc solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

Claims (5)

1. A method for encoding a video sequence comprising a plurality of pictures, the method comprising:
determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the prédiction block is created by cross-component linear model (CCLM) mode, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern, wherein the reference block is coded using an intra prédiction mode and wherein determining the directional pattern comprises or consists of determining the intra prédiction mode;
selecting a transform set for the prédiction block based on the determined directional pattern; and using the selected transform set, transforming data derived from the prédiction block, wherein transforming data using the transform set selected based on the determined directional pattern comprises transforming a residual block using the selected transform set.
2. A method for decoding a video sequence comprising a plurality of pictures, the method comprising:
determining a directional pattern in a prédiction block of one of the pictures in the video sequence, wherein the prédiction block is created by cross-component linear model (CCLM) mode, wherein the determining comprises using information from a reference block from which the prédiction block is generated to détermine the directional pattern, wherein the reference block is coded using an intra prédiction mode and wherein determining the directional pattern comprises or consists of determining the intra prédiction mode;
selecting an inverse transform set for the prédiction block based on the determined directional pattern; and inverse transforming data using the inverse transform set selected based on the determined directional pattern, wherein inverse transforming data using the inverse transform set selected based on the determined directional pattern comprises inverse transforming a coefficient block after dequantization.
3. The method of claims 1 or 2, wherein the method further comprises maintaining mapping information that maps each intra prédiction mode included in a particular set of intra prédiction modes to a transform set index, the reference block’s intra prédiction mode is included in the particular set of intra prédiction modes, and selecting the transform set or inverse transform set comprises using the mapping information to identify the transform set index to which the reference block’s intra prédiction mode is mapped.
4. The method of any one of claims 1-3, wherein the prédiction block belongs to a chroma color component and the reference block belongs to a luma color component.
5. The method of claim 4, further comprising generating the prédiction block using the reference block and a cross-component linear model (CCLM) prédiction mode.
6. The method of any one of claims 1-3, wherein the prédiction block belongs to a color component and the reference block belongs to the same color component.
7 The method of any one of claims 1 or 3-6, further comprising determining that a set of conditions is satisfied, wherein the step of transforming the data using the transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
8. The method of any one of claims 2 or 3-6, further comprising determining that a set of conditions is satisfied, wherein the step of inverse transforming the data using the inverse transform set selected based on the determined directional pattern is performed as a resuit of determining that the set of conditions is satisfied.
9. The method of claim 7 or 8, wherein determining that the set of conditions is satisfied comprises:
determining the number of non-zero transform coefficients (N) of the reference block; and determining that N satisfïes a certain condition.
10. An encoder for encoding a video sequence comprising a plurality of pictures, the encoder being adapted to perform a method according to any of daims 1,3-7 and 9.
11. A décoder for decoding a video sequence comprising a plurality of pictures, the
5 décoder being adapted to perform a method according to any of daims 2-6 and 8-9.
OA1202000202 2018-07-13 2019-07-10 Transform selection in a video encoder and/or video decoder. OA20149A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/697,484 2018-07-13

Publications (1)

Publication Number Publication Date
OA20149A true OA20149A (en) 2021-12-30

Family

ID=

Similar Documents

Publication Publication Date Title
CA3090207C (en) Transform selection in a video encoder and/or video decoder
CN108886613B (en) Method and apparatus for processing video signal
WO2021083257A1 (en) Cross-component adaptive loop filter
CN113728636B (en) Selective use of quadratic transforms in codec video
US20220070459A1 (en) Context modeling for residual coding
US11503293B2 (en) Residual coding for transform skipped blocks
US11197032B2 (en) Asymmetric deblocking in a video encoder and/or video decoder
US20210297689A1 (en) Inter prediction using polynomial model
CN115176474A (en) Cross-component prediction for multi-parameter models
JP2024020420A (en) Boundary position for adaptive loop filtering
US20220109845A1 (en) Restriction on number of context coded bins
CN112532997B (en) Image prediction method, encoder, decoder, and storage medium
OA20149A (en) Transform selection in a video encoder and/or video decoder.
WO2021190593A1 (en) Coded video processing using enhanced secondary transform
EP4162685A1 (en) Derivation of a value for each layer representation of a video bitstream
US20210218961A1 (en) Deblocking in a video encoder and/or video decoder
US20240179310A1 (en) Fusion Mode For Adaptive Loop Filter In Video Coding
US20240040122A1 (en) Transforms and Sign Prediction
WO2020228761A1 (en) Filter selection for intra video coding
WO2021215978A1 (en) Compresssed picture-in-picture signaling
WO2024138169A2 (en) Method, apparatus, and medium for video processing
CN117581536A (en) Method, apparatus and medium for video processing