System and method for transform selection of intra prediction mode based on extrapolation filter

By introducing directional indicators and transform information recognition in video encoding and decoding technology, the problem of lack of directional information in intra prediction mode selection in the prior art is solved, and more efficient and high-quality video encoding is achieved.

CN119999202APending Publication Date: 2025-05-13TENCENT AMERICA LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480004276.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-04-19
Filing Date
2024-04-22
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

The existing video encoding and decoding technology lacks directional information in the selection of intra prediction mode, resulting in low encoding efficiency and quality.

Method used

By introducing directional indicators in the intra prediction mode based on extrapolation filters, the transformation information of the current block is identified and a more accurate and effective transformation core is selected to improve the encoding quality.

Benefits of technology

The quality and efficiency of video encoding are improved, and the intra prediction mode of subsequent encoding blocks is optimized through more accurate intra prediction mode selection and transformation core use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119999202A_ABST
    Figure CN119999202A_ABST
Patent Text Reader

Abstract

An example method of video coding includes receiving a video bitstream of a plurality of blocks. The method also includes parsing, from the video bitstream, an indicator indicating that a current block of the plurality of blocks is to be decoded using an extrapolation filter intra prediction (EIP) mode. The method includes identifying transformation information of a current block according to an EIP feature, the EIP feature including directivity information associated with an EIP mode and / or an index of the EIP mode; the method includes generating a transform block of the current block using the transform information.
Need to check novelty before this filing date? Find Prior Art

Description

Related Applications

[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 460,873, filed on April 20, 2023, entitled “Transform selection forextrapolation filter based intra prediction mode,” and this application is a continuation of and claims priority to U.S. Patent Application No. 18 / 641,207, filed on April 19, 2024, entitled “Systems and Methods forTransform Selection of Extrapolation Filter Based Intra Prediction Mode.” Technical Field

[0002] The disclosed embodiments generally relate to video coding and decoding, including but not limited to systems and methods for implementing an extrapolation filter-based intra prediction (EIP) mode. Background Art

[0003] Digital video is supported by various electronic devices such as digital televisions, laptop or desktop computers, tablet computers, digital cameras, digital recording devices, digital media players, video game consoles, smart phones, video teleconferencing devices, video streaming devices, etc. Electronic devices send and receive or otherwise transmit digital video data across communication networks, and / or store digital video data on storage devices. Due to the limited bandwidth capacity of communication networks and the limited memory resources of storage devices, video encoding can be used to compress video data according to one or more video encoding standards before transmitting or storing video data. Video encoding can be performed by hardware and / or software on a server or electronic / client device that provides cloud services.

[0004] Video coding usually uses some prediction methods (e.g., inter-frame prediction, intra-frame prediction, etc.) that exploit the redundancy inherent in video data. Video coding aims to compress video data into a form that uses a lower bit rate while avoiding or minimizing the degradation of video quality. A variety of video codec standards have been developed. For example, High-Efficiency Video Coding (HEVC / H.265) is a video compression standard designed as part of the MPEG-H (Moving Picture Experts Group-H, MPEG-H) project. ITU-T (International Telecommunication Union-Telecommunication Standardization Sector, ITU-T) and ISO / IEC (International Organization for Standardization / International Electrotechnical Commission, ISO / IEC) released the HEVC / H.265 standard in 2013 (version 1), 2014 (version 2), 2015 (version 3), and 2016 (version 4). Versatile Video Coding (VVC / H.266) is a video compression standard intended as a successor to HEVC. The VVC / H.266 standard was released by ITU-T and ISO / IEC in 2020 (version 1) and 2022 (version 2). AOMedia Video 1 (Alliance for Open MediaVideo 1, AV1) is an open video coding format designed as an alternative to HEVC. On January 8, 2019, the verified version 1.0.0 with specification errata 1 was released. Summary of the invention

[0005] The present disclosure describes, among other things, systems and methods for video (image) compression, more specifically EIP mode (sometimes also referred to as "extrapolation filter intra prediction mode"). Intra prediction based on extrapolation filters can be processed in two steps. First, extrapolation filter coefficients are obtained from neighboring reconstructed pixels of the current block using a predetermined template. Secondly, extrapolation generates prediction values ​​position by position from the upper left to the lower right within the current block. The EIP mode is independent of a specific prediction direction, however, there may be strong directionality in the residual block. The embodiments described herein include directionality of the EIP mode. The advantage of using a directional indicator for an intra prediction mode based on an extrapolation filter is that the additional information provided by the directionality can allow selection of a more accurate and / or more efficient transform kernel that improves encoding quality. In addition, some embodiments utilize directionality to better determine the intra prediction mode of a subsequent coding block. The ability to use directionality to predict the intra prediction mode of a subsequent coding block also improves the efficiency of encoding and decoding (e.g., more accurate encoding / decoding).

[0006] According to some embodiments, a method of video decoding includes: (i) receiving a video bitstream including multiple blocks; (ii) parsing an indicator indicating that an EIP mode is to be used to decode a current block among the multiple blocks from the video bitstream; (iii) identifying transformation information of the current block based on an EIP feature, the EIP feature including directionality information associated with the EIP mode and / or an index of the EIP mode; and (iv) generating a transformation block of the current block using the transformation information.

[0007] According to some embodiments, a method of video encoding includes: (i) receiving video data including multiple video blocks; (ii) determining that an EIP mode is valid for a current block among the multiple video blocks; (iii) identifying transform information of the current block based on an EIP feature, the EIP feature including directionality information associated with the EIP mode and / or an index of the EIP mode; (iv) generating a transform block for the current block using the transform information; and (v) signaling one or more transform coefficients corresponding to the transform block via a video bitstream.

[0008] According to some embodiments, a method for processing visual media data includes: (i) obtaining a source video sequence comprising multiple frames; and (ii) performing conversion between the source video sequence and a video bitstream of the visual media data, wherein the bitstream includes: (a) multiple coding blocks corresponding to multiple video blocks; (b) a set of transform coefficients corresponding to a first block of the multiple coding blocks; (c) a first indicator indicating that an extrapolation filter intra-frame prediction (EIP) mode is valid for the first block; and (d) a second indicator indicating directionality information of the EIP mode of the first block.

[0009] According to some embodiments, a computing system is provided, such as a streaming system, a server system, a personal computer system or other electronic device. The computing system includes a control circuit system and a memory storing one or more instruction sets. The one or more instruction sets include instructions for executing any of the methods described herein. In some embodiments, the computing system includes an encoder component and a decoder component (e.g., a transcoder). According to some embodiments, a non-transient computer-readable storage medium is provided. The non-transient computer-readable storage medium stores one or more instruction sets for execution by a computing system. The one or more instruction sets include instructions for executing any of the methods described herein.

[0010] Thus, devices and systems utilizing methods for encoding and decoding video are disclosed. Such methods, devices, and systems may supplement or replace conventional methods, devices, and systems for encoding / decoding video. The features and advantages described in the specification are not necessarily all inclusive, and in particular, some additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, description, and claims provided in the present disclosure. Furthermore, it should be noted that the language used in the specification is primarily selected for readability and instructional purposes and is not necessarily selected to describe or limit the subject matter described herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order that the present disclosure may be understood in more detail, a more specific description may be made by reference to the features of various embodiments, some of which are shown in the accompanying drawings. However, the accompanying drawings only show the relevant features of the present disclosure and are therefore not necessarily considered to be limiting, as the description may allow for other effective features that will be understood by those skilled in the art upon reading the present disclosure.

[0012] Figure 1 is a block diagram illustrating an example communication system in accordance with some implementations.

[0013] Figure 2A is a block diagram illustrating example elements of an encoder component according to some implementations.

[0014] Figure 2B is a block diagram illustrating example elements of a decoder component according to some implementations.

[0015] Figure 3 is a block diagram illustrating an example server system according to some implementations.

[0016] Figure 4A , Figure 4B and Figure 4CAspects of an intra prediction mode based on an extrapolation filter are shown.

[0017] Figure 5A , Figure 5B and Figure 5C The application of an intra prediction mode based on an extrapolation filter according to some embodiments is shown.

[0018] Fig. 6A An example video decoding process is shown in accordance with some implementations.

[0019] Figure 6B An example video encoding process is shown in accordance with some implementations.

[0020] According to common practice, the various features shown in the drawings are not necessarily drawn to scale, and like reference numerals may be used to denote like features throughout the specification and drawings. DETAILED DESCRIPTION

[0021] The present disclosure describes video / image compression techniques associated with intra-frame prediction modes based on extrapolation filters. In particular, some embodiments incorporate directionality into the EIP mode. For example, the transformation information of the current block is identified based on an EIP feature, which includes directional information associated with the EIP mode and / or an index of the EIP mode. The directional information (and / or EIP index) of the derived EIP mode enables the selection of a more accurate and / or more efficient transformation kernel, thereby improving the quality of encoding. In addition, the EIP feature can be used to select the most appropriate intra-frame prediction mode for subsequent blocks. Example Systems and Devices

[0022] Figure 1 1 is a block diagram illustrating a communication system 100 according to some embodiments. The communication system 100 includes a source device 102 and a plurality of electronic devices 120 (e.g., electronic device 120-1 to electronic device 120-m) communicatively coupled to each other via one or more networks. In some embodiments, the communication system 100 is a streaming system, for example, for use with video-enabled applications such as video conferencing applications, digital TV applications, and media storage and / or distribution applications.

[0023] The source device 102 includes a video source 104 (e.g., a camera component or a media storage device) and an encoder component 106. In some embodiments, the video source 104 is a digital camera (e.g., configured to create an uncompressed video sample stream). The encoder component 106 generates one or more encoded video bitstreams based on the video stream. The video stream from the video source 104 can be a high data volume compared to the encoded video bitstream 108 generated by the encoder component 106. Because the encoded video bitstream 108 is a lower data volume (less data) than the video stream from the video source, the encoded video bitstream 108 requires less bandwidth to transmit and requires less storage space to store than the video stream from the video source 104. In some embodiments, the source device 102 does not include the encoder component 106 (e.g., configured to transmit uncompressed video to the network 110).

[0024] One or more networks 110 represent any number of networks that transmit information between source device 102, server system 112, and / or electronic device 120, including, for example, wired and / or wireless communication networks. One or more networks 110 may exchange data in circuit switching channels and / or packet switching channels. Representative networks include telecommunication networks, local area networks, wide area networks, and / or the Internet.

[0025] One or more networks 110 include a server system 112 (e.g., a distributed / cloud computing system). In some embodiments, the server system 112 is a streaming server or includes a streaming server (e.g., configured to store and / or distribute video content such as an encoded video stream from a source device 102). The server system 112 includes a codec component 114 (e.g., configured to encode and / or decode video data). In some embodiments, the codec component 114 includes an encoder component and / or a decoder component. In various embodiments, the codec component 114 is instantiated as hardware, software, or a combination thereof. In some embodiments, the codec component 114 is configured to decode the encoded video bitstream 108 and re-encode the video data using different encoding standards and / or methods to generate encoded video data 116. In some embodiments, the server system 112 is configured to generate multiple video formats and / or encodings based on the encoded video bitstream 108. In some embodiments, the server system 112 is used as a Media-Aware Network Element (MANE). For example, the server system 112 can be configured to prune the encoded video bitstream 108 to tailor a potentially different bitstream for one or more of the electronic devices 120. In some implementations, the MANE is provided separately from the server system 112.

[0026] The electronic device 120-1 includes a decoder component 122 and a display 124. In some embodiments, the decoder component 122 is configured to decode the encoded video data 116 to generate an outgoing video stream that can be rendered on a display or other type of rendering device. In some embodiments, one or more of the electronic devices 120 do not include a display component (e.g., communicatively coupled to an external display device and / or include a media storage device). In some embodiments, the electronic device 120 is a streaming client. In some embodiments, the electronic device 120 is configured to access the server system 112 to obtain the encoded video data 116.

[0027] The source device and / or multiple electronic devices 120 are sometimes referred to as “end devices” or “user devices.” In some embodiments, one or more of the electronic devices 120 and / or the source device 102 are examples of server systems, personal computers, portable devices (e.g., smart phones, tablet computers, or laptop computers), wearable devices, video conferencing devices, and / or other types of electronic devices.

[0028] In an example operation of the communication system 100, the source device 102 transmits a coded video bitstream 108 to a server system 112. For example, the source device 102 may encode a picture stream captured by the source device. The server system 112 receives the coded video bitstream 108 and may decode and / or encode the coded video bitstream 108 using a codec component 114. For example, the server system 112 may apply a coding that is more optimized for network transmission and / or storage to the video data. The server system 112 may transmit the coded video data 116 (e.g., one or more coded video bitstreams) to one or more electronic devices in the electronic device 120. Each electronic device 120 may decode the coded video data 116 and optionally display a video picture.

[0029] Figure 2A1 is a block diagram illustrating example elements of an encoder component 106 according to some embodiments. The encoder component 106 receives video data (e.g., a source video sequence) from a video source 104. In some embodiments, the encoder component includes a receiver (e.g., a transceiver) component configured to receive the source video sequence. In some embodiments, the encoder component 106 receives the video sequence from a remote video source (e.g., a video source that is a component of a device different from the encoder component 106). The video source 104 can provide the source video sequence in the form of a digital video sample stream, which can have any suitable bit depth (e.g., 8 bits, 10 bits, or 12 bits), any color space (e.g., BT.601 Y CrCB or RGB), and any suitable sampling structure (e.g., Y CrCb 4:2:0 or Y CrCb 4:4:4). In some embodiments, the video source 104 is a storage device that stores previously captured / prepared videos. In some embodiments, the video source 104 is a camera that captures local image information as a video sequence. The video data may be provided as a plurality of individual pictures that are imparted with motion when viewed sequentially. The pictures themselves may be organized as a spatial array of pixels, where each pixel may include one or more samples, depending on the sampling structure, color space, etc. used. The relationship between pixels and samples may be readily understood by one of ordinary skill in the art.

[0030] The encoder component 106 is configured to encode and / or compress the pictures of the source video sequence into an encoded video sequence 216 in real time or under other time constraints required by the application. In some embodiments, the encoder component 106 is configured to perform conversion between the source video sequence and a visual media data bitstream (e.g., a video bitstream). Implementing an appropriate encoding speed is a function of the controller 204. In some embodiments, the controller 204 controls other functional units as described below and is functionally coupled to the other functional units. The parameters set by the controller 204 may include rate control related parameters (e.g., lambda values ​​for picture skipping, quantizers, and / or rate-distortion optimization techniques), picture size, picture group (Group Of Pictures, GOP) layout, maximum motion vector search range, etc. Other functions of the controller 204 can be easily identified by those of ordinary skill in the art, as the functions may belong to the encoder component 106 being optimized for a specific system design.

[0031] In some embodiments, the encoder component 106 is configured to operate in a codec loop. In a simplified example, the codec loop includes a source encoder 202 (e.g., responsible for creating symbols such as a symbol stream based on the input picture to be encoded and the reference picture) and a (local) decoder 210. The decoder 210 reconstructs the symbols to create sample data in a similar manner to the (remote) decoder (in the case where the compression between the symbols and the encoded video bitstream is lossless). The reconstructed sample stream (sample data) is input to the reference picture memory 208. Since the decoding of the symbol stream produces a bit-accurate result that is independent of the decoder location (local or remote), the contents of the reference picture memory 208 are also bit-accurate between the local encoder and the remote encoder. In this way, the prediction part of the encoder interprets the same sample values ​​as the sample values ​​that the decoder will interpret when using prediction during decoding as reference picture samples.

[0032] The operation of decoder 210 may be combined with a remote decoder such as Figure 2B The operation of the decoder component 122 described in detail is the same. However, briefly referring to Figure 2B Since the symbols are available and the encoding of the symbols into the encoded video sequence by the entropy encoder 214 and the decoding of the symbols by the parser 254 can be lossless, the entropy decoding portion of the decoder component 122 including the buffer memory 252 and the parser 254 may not be fully implemented in the local decoder 210.

[0033] In addition to parsing / entropy decoding, the decoder technology described herein can be present in the corresponding encoder in the form of substantially the same function. For this reason, the disclosed subject matter focuses on the decoder operation. Additionally, the description of the encoder technology can be simplified because the encoder technology can be mutually inverse with the decoder technology.

[0034] As part of the operation of the source encoder 202, the source encoder 202 can perform motion compensated predictive coding, which predictively encodes an input frame with reference to one or more previously encoded frames from a video sequence designated as reference frames. In this manner, the encoding engine 212 encodes the difference between a pixel block of the input frame and a pixel block of a reference frame, which can be selected as a prediction reference for the input frame. The controller 204 can manage the encoding operations of the source encoder 202, including, for example, setting parameters and subgroup parameters for encoding video data.

[0035] The decoder 210 decodes the encoded video data of the frame that can be designated as the reference frame based on the symbols created by the source encoder 202. The operation of the encoding engine 212 can advantageously be a lossy process. When the encoded video data is in the video decoder ( Figure 2AThe reconstructed video sequence may be a copy of the source video sequence with some errors when decoded at a remote video decoder (not shown). Decoder 210 replicates the decoding process that may be performed on the reference frame by the remote video decoder and may cause the reconstructed reference frame to be stored in reference picture memory 208. In this way, encoder component 106 locally stores a copy of the reconstructed reference frame that has common content (absent transmission errors) with the reconstructed reference frame that will be obtained by the remote video decoder.

[0036] The predictor 206 may perform a prediction search for the encoding engine 212. That is, for a new frame to be encoded, the predictor 206 may search the reference picture memory 208 for sample data (as candidate reference pixel blocks) or specific metadata such as reference picture motion vectors, block shapes, etc. that may be used as appropriate prediction references for the new picture. The predictor 206 may operate on a pixel block by pixel block basis to find an appropriate prediction reference. As determined by the search results obtained by the predictor 206, the input picture may have prediction references taken from a plurality of reference pictures stored in the reference picture memory 208.

[0037] The outputs to all of the above-mentioned functional units may be subjected to entropy encoding in the entropy encoder 214. The entropy encoder 214 converts the symbols, as generated by the various functional units, into an encoded video sequence by losslessly compressing the symbols according to techniques known to those of ordinary skill in the art (e.g., Huffman encoding, variable length encoding, and / or arithmetic coding).

[0038] In some embodiments, the output of the entropy encoder 214 is coupled to a transmitter. The transmitter can be configured to buffer the encoded video sequence as created by the entropy encoder 214 in preparation for transmission via a communication channel 218, which can be a hardware / software link to a storage device that will store the encoded video data. The transmitter can be configured to merge the encoded video data from the source encoder 202 with other data to be transmitted, such as encoded audio data and / or an auxiliary data stream (source not shown). In some embodiments, the transmitter can transmit additional data along with the encoded video. The source encoder 202 can include such data as part of the encoded video sequence. The additional data can include time / space / SNR (Signal-to-Noise Ratio, SNR) enhancement layers, other forms of redundant data such as redundant pictures and slices, Supplementary Enhancement Information (SEI) messages, Visual Usability Information (VUI) parameter set fragments, etc.

[0039] The controller 204 can manage the operation of the encoder component 106. During encoding, the controller 204 can assign a certain encoded picture type to each encoded picture, which may affect the encoding technology applied to the corresponding picture. For example, a picture can be assigned as an intra picture (I picture), a predictive picture (P picture), or a bidirectional predictive picture (B picture). Intra pictures can be encoded and decoded without using any other frame in the sequence as a prediction source. Some video codecs allow different types of intra pictures, including, for example, independent decoder refresh (IDR) pictures. Those of ordinary skill in the art understand those variations of I pictures and their corresponding applications and features, and therefore are not repeated here. Predictive pictures can be encoded and decoded using inter-frame prediction or intra-frame prediction that predicts sample values ​​for each block using at most one motion vector and reference index. Bidirectional predictive pictures can be encoded and decoded using inter-frame prediction or intra-frame prediction that predicts sample values ​​for each block using at most two motion vectors and reference indexes. Similarly, multiple predictive pictures can use more than two reference pictures and associated metadata to reconstruct a single block.

[0040] The source picture may typically be spatially subdivided into a number of blocks of samples (e.g., blocks of 4×4, 8×8, 4×8, or 16×16 samples, respectively), and encoded on a block-by-block basis. The blocks may be predictively coded with reference to other (already coded) blocks, which are determined by the coding allocation applied to the corresponding picture of the block. For example, blocks of an I picture may be non-predictively coded, or blocks of an I picture may be predictively coded (spatial prediction or intra-prediction) with reference to already coded blocks of the same picture. Blocks of pixels of a P picture may be non-predictively coded via spatial prediction or via temporal prediction with reference to one previously coded reference picture. Blocks of a B picture may be non-predictively coded via spatial prediction or via temporal prediction with reference to one or two previously coded reference pictures.

[0041] Video can be captured as multiple source pictures (video pictures) in a temporal sequence. Intra-picture prediction (often referred to simply as intra-picture prediction) exploits spatial correlations in a given picture, while inter-picture prediction exploits (temporal or other) correlations between pictures. In an example, a particular picture in encoding / decoding, referred to as the current picture, is divided into blocks. In the case where a block in the current picture is similar to a reference block in a reference picture that has been previously encoded in the video and is still buffered, the block in the current picture can be encoded by a vector called a motion vector. The motion vector points to a reference block in a reference picture, and in the case where multiple reference pictures are used, the motion vector may have a third dimension that identifies the reference picture.

[0042] The encoder component 106 may perform encoding operations according to a predetermined video encoding technique or standard, such as any described herein. In operation of the encoder component 106, the encoder component 106 may perform various compression operations, including predictive encoding operations that exploit temporal and spatial redundancy in an input video sequence. Thus, the encoded video data may conform to the syntax specified by the video encoding technique or standard being used.

[0043] Figure 2B is a block diagram illustrating example elements of decoder component 122 according to some implementations. Figure 2B The decoder component 122 in is coupled to the channel 218 and the display 124. In some embodiments, the decoder component 122 includes a transmitter coupled to the loop filter 256 and configured to transmit data to the display 124 (eg, via a wired connection or a wireless connection).

[0044] In some embodiments, the decoder component 122 includes a receiver coupled to the channel 218 and configured to receive data from the channel 218 (e.g., via a wired connection or a wireless connection). The receiver can be configured to receive one or more encoded video sequences to be decoded by the decoder component 122. In some embodiments, the decoding of each encoded video sequence is independent of other encoded video sequences. Each encoded video sequence can be received from the channel 218, which can be a hardware / software link to a storage device storing the encoded video data. The receiver can receive the encoded video data and other data, such as encoded audio data and / or auxiliary data streams, which can be forwarded to their respective use entities (not depicted). The receiver can separate the encoded video sequence from the other data. In some embodiments, the receiver receives additional (redundant) data along with the encoded video. The additional data can be included as part of the encoded video sequence. The additional data can be used by the decoder component 122 to decode the data and / or more accurately reconstruct the original video data. The additional data can be in the form of, for example, time, space or SNR enhancement layers, redundant slices, redundant pictures, forward error correction codes, etc.

[0045] According to some embodiments, decoder component 122 includes buffer memory 252, parser 254 (sometimes also referred to as entropy decoder), scaler / inverse transform unit 258, intra picture prediction unit 262, motion compensation prediction unit 260, aggregator 268, loop filter unit 256, reference picture memory 266 and current picture memory 264. In some embodiments, decoder component 122 is implemented as an integrated circuit, a series of integrated circuits and / or other electronic circuit systems. Decoder component 122 can be implemented at least partially in software.

[0046] Buffer memory 252 is coupled between channel 218 and parser 254 (e.g., to combat network jitter). In some embodiments, buffer memory 252 is separate from decoder component 122. In some embodiments, a separate buffer memory is provided between the output of channel 218 and decoder component 122. In some embodiments, in addition to buffer memory 252 internal to decoder component 122 (e.g., which is configured to handle playout timing), a separate buffer memory is provided external to decoder component 122 (e.g., to combat network jitter). When receiving data from a store / forward device with sufficient bandwidth and controllability or from an isochronous network, buffer memory 252 may not be required or may be relatively small. In order to maximize the use of packet networks such as the Internet, buffer memory 252 may be required, buffer memory 252 may be relatively large and / or have an adaptive size, and may be implemented at least in part in an operating system or similar element external to decoder component 122.

[0047] The parser 254 is configured to reconstruct the symbol 270 from the coded video sequence. The symbol may include, for example, information for managing the operation of the decoder component 122, and / or information for controlling a rendering device such as the display 124. The control information for the rendering device may be in the form of, for example, a supplemental enhancement information (SEI) message or a video usability information (VUI) parameter set fragment (not depicted). The parser 254 parses (entropy decodes) the coded video sequence. The encoding of the coded video sequence may be performed according to a video coding technique or standard, and may follow principles known to those skilled in the art, including variable length coding, Huffman coding, arithmetic coding with or without context sensitivity, etc. The parser 254 may extract a subgroup parameter set for at least one of the subgroups of pixels in the video decoder from the coded video sequence based on at least one parameter corresponding to the group. The subgroup may include a group of pictures (GOP), a picture, a tile, a slice, a macroblock, a coding unit (CU), a block, a transform unit (TU), a prediction unit (PU), etc. Parser 254 may also extract information from the encoded video sequence, such as transform coefficients, quantizer parameter values, motion vectors, and the like.

[0048] Depending on the type of the coded video picture or its portion (e.g., inter-picture and intra-picture, inter-block and intra-block) and other factors, the reconstruction of the symbol 270 may involve multiple different units. Which units are involved and how they are involved can be controlled by the parser 254 through subgroup control information parsed from the coded video sequence. For the sake of brevity, such subgroup control information flow between the parser 254 and the following multiple units is not depicted.

[0049] The decoder component 122 may be conceptually subdivided into a plurality of functional units, and in some implementations, these units closely interact with each other and may be at least partially integrated with each other. However, for the sake of brevity, the conceptual subdivision of the functional units is maintained herein.

[0050] The sealer / inverse transform unit 258 receives the quantized transform coefficients and control information (such as which transform to use, block size, quantization factor, and / or quantization scaling matrix) as symbols 270 from the parser 254. The sealer / inverse transform unit 258 may output a block including sample values, which may be input into the aggregator 268.

[0051] In some cases, the output samples of the sealer / inverse transform unit 258 belong to an intra-coded block; that is, a block that does not use predictive information from a previously reconstructed picture, but can use predictive information from a previously reconstructed portion of the current picture. Such predictive information can be provided by the intra-picture prediction unit 262. The intra-picture prediction unit 262 can use the surrounding reconstructed information obtained from the current (partially reconstructed) picture from the current picture memory 264 to generate a block of the same size and shape as the block under reconstruction. The aggregator 268 can add the prediction information that has been generated by the intra-picture prediction unit 262 to the output sample information as provided by the sealer / inverse transform unit 258 on a per-sample basis.

[0052] In other cases, the output samples of the scaler / inverse transform unit 258 belong to a block that is inter-coded and potentially motion compensated. In such a case, the motion compensated prediction unit 260 can access the reference picture memory 266 to obtain samples for prediction. After the obtained samples are motion compensated according to the symbols 270 belonging to the block, these samples can be added to the output of the scaler / inverse transform unit 258 (in this case, referred to as residual samples or residual signals) by the aggregator 268 to generate output sample information. The address within the reference picture memory 266 from which the motion compensated prediction unit 260 obtains the predicted samples can be controlled by a motion vector. The motion vector can be available to the motion compensated prediction unit 260 in the form of a symbol 270, which can have, for example, an X component, a Y component, and a reference picture component. Motion compensation can also include, for example, interpolation of sample values ​​obtained from the reference picture memory 266 when using sub-sample accurate motion vectors, motion vector prediction mechanisms.

[0053] The output samples of the aggregator 268 may be subjected to various loop filtering techniques in the loop filter unit 256. The video compression techniques may include in-loop filter techniques controlled by parameters included in the coded video bitstream and available to the loop filter unit 256 as symbols 270 from the parser 254, but the video compression techniques may also be responsive to meta information obtained during decoding of a coded picture or a previous (in decoding order) portion of a coded video sequence, as well as to previously reconstructed and loop filtered sample values. The output of the loop filter unit 256 may be a sample stream that may be output to a rendering device such as a display 124, as well as stored in the reference picture memory 266 for use in future inter-picture prediction.

[0054] Once reconstructed, certain coded pictures may be used as reference pictures for future prediction. Once a coded picture is reconstructed, and the coded picture has been identified as a reference picture (e.g., by parser 254), the current reference picture may become part of reference picture memory 266, and a new current picture memory may be reallocated before starting reconstruction of a subsequent coded picture.

[0055] The decoder component 122 may perform decoding operations according to a predetermined video compression technique that may be recorded in a standard such as any of the standards described herein. As specified in a video compression technology document or standard and particularly in a configuration file therein, the coded video sequence may conform to the syntax specified by the video compression technology or standard used in the sense that the coded video sequence follows the syntax of the video compression technology or standard. In addition, in order to conform to some video compression technologies or standards, the complexity of the coded video sequence may be within a range as defined by the hierarchy of the video compression technology or standard. In some cases, the hierarchy limits the maximum picture size, the maximum frame rate, the maximum reconstruction sampling rate (measured in, for example, megasamples per second), the maximum reference picture size, etc. In some cases, the limits set by the hierarchy may be further limited by the Hypothetical Reference Decoder (HRD) specification and metadata for HRD buffer management signaled in the coded video sequence.

[0056] Figure 3is a block diagram illustrating a server system 112 according to some embodiments. The server system 112 includes a control circuit system 302, one or more network interfaces 304, a memory 314, a user interface 306, and one or more communication buses 312 for interconnecting these components. In some embodiments, the control circuit system 302 includes one or more processors (e.g., a CPU (Central Processing Unit, CPU), a GPU (Graphics Processing Unit, GPU) and / or a DPU (Data Processing Unit, DPU)). In some embodiments, the control circuit system includes a field programmable gate array, a hardware accelerator and / or an integrated circuit (e.g., an application-specific integrated circuit).

[0057] The network interface 304 can be configured to interface with one or more communication networks (e.g., wireless networks, wired networks, and / or optical networks). The communication networks can be local, wide area, metropolitan area network, vehicle and industrial, real-time, delay-tolerant, etc. Examples of communication networks include: local area networks such as Ethernet, wireless LAN (Local Area Network, LAN); cellular networks including GSM (Global System for Mobile Communications, GSM), 3G (the Third Generation, 3G), 4G (the Fourth Generation, 4G), 5G (the Fifth Generation, 5G), LTE (Long Term Evolution, LTE), etc.; TV wired or wireless wide area digital networks including cable TV, satellite TV, and terrestrial broadcast TV; vehicle and industrial networks including CANBus (Controller Area Network-BUS, CANBus), etc. Such communications can be one-way reception only (e.g., broadcast TV), one-way transmission only (e.g., CAN bus to certain CAN bus devices), or bidirectional (e.g., to other computer systems using local area digital networks or wide area digital networks). Such communications may include communications to one or more cloud computing networks.

[0058] The user interface 306 includes one or more output devices 308 and / or one or more input devices 310. The input device 310 may include one or more of the following: a keyboard, a mouse, a touch pad, a touch screen, a data glove, a joystick, a microphone, a scanner, a camera, etc. The output device 308 may include one or more of the following: an audio output device (e.g., a speaker), a visual output device (e.g., a display or a display), etc.

[0059] The memory 314 may include high-speed random access memory (e.g., DRAM (Dynamic Random Access Memory, DRAM), SRAM (Static Random Access Memory, SRAM), DDR RAM (Double Data Rate Random Access Memory, DDR RAM) and / or other random access solid-state memory devices) and / or non-volatile memory (such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices and / or other non-volatile solid-state storage devices). The memory 314 optionally includes one or more storage devices located away from the control circuit system 302. The memory 314, or alternatively, the non-volatile solid-state memory device within the memory 314, includes a non-transitory computer-readable storage medium. In some embodiments, the memory 314 or the non-transitory computer-readable storage medium of the memory 314 stores the following programs, modules, instructions and data structures, or a subset or superset thereof: Operating system 316, which includes procedures for handling various basic system services and for performing hardware-related tasks; A network communication module 318 for connecting the server system 112 to other computing devices via one or more network interfaces 304 (eg, via a wired connection and / or a wireless connection); A codec module 320 for performing various functions related to encoding and / or decoding data such as video data. In some embodiments, the codec module 320 is an instance of the codec component 114. The codec module 320 includes, but is not limited to, one or more of the following: o a decoding module 322 for performing various functions related to decoding encoded data, such as those previously described with respect to the decoder component 122; and o an encoding module 340 for performing various functions related to encoding data, such as those previously described with respect to the encoder component 106; and A picture memory 352 for storing pictures and picture data, for example for use with the codec module 320. In some embodiments, the picture memory 352 includes one or more of the following: the reference picture memory 208, the buffer memory 252, the current picture memory 264, and the reference picture memory 266.

[0060] In some embodiments, the decoding module 322 includes a parsing module 324 (e.g., configured to perform the various functions previously described with respect to the parser 254), a transform module 326 (e.g., configured to perform the various functions previously described with respect to the scaler / inverse transform unit 258), a prediction module 328 (e.g., configured to perform the various functions previously described with respect to the motion compensated prediction unit 260 and / or the intra-picture prediction unit 262), and a filter module 330 (e.g., configured to perform the various functions previously described with respect to the loop filter 256).

[0061] In some embodiments, the encoding module 340 includes a code module 342 (e.g., configured to perform various functions previously described with respect to the source encoder 202 and / or the encoding engine 212) and a prediction module 344 (e.g., configured to perform various functions previously described with respect to the predictor 206). In some embodiments, the decoding module 322 and / or the encoding module 340 includes Figure 3 For example, a shared prediction module is used by both the decoding module 322 and the encoding module 340.

[0062] Each module in the above-identified modules stored in the memory 314 corresponds to an instruction set for performing the functions described herein. The modules (e.g., instruction sets) identified above do not need to be implemented as separate software programs, processes, or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various embodiments. For example, the codec module 320 optionally does not include a separate decoding module and encoding module, but uses the same set of modules to perform two function sets. In some embodiments, the memory 314 stores a subset of the modules and data structures identified above. In some embodiments, the memory 314 stores additional modules and data structures not described above.

[0063] Although Figure 3 The server system 112 is shown according to some embodiments, but Figure 3 The present invention is intended more as a functional description of various features that may be present in one or more server systems rather than as a block diagram of the embodiments described herein. In practice, items shown separately may be combined, and some items may be separated. For example, Figure 3 Some items shown individually in the figure may be implemented on a single server, and a single item may be implemented by one or more servers. The actual number of servers used to implement the server system 112 and how the features are distributed among the servers will vary from implementation to implementation and may depend in part on the amount of data traffic that the server system handles during peak usage periods and during average usage periods. Example Codec Technology

[0064] The encoding and decoding processes and techniques described below may be performed at the devices and systems described above (e.g., source device 102, server system 112, and / or electronic device 120). In the following, a transform may refer to a primary transform (e.g., Multiple Transform Selection (MTS) or a non-separable primary transform (NSPT)), or a secondary transform (e.g., a non-separable secondary transform (NSST) or a low frequency non-separable transform (LFNST)).

[0065] Transform coding can be applied to the prediction residuals to remove potential spatial correlations. Some examples of transform kernels include type 2 DCT (DCT-2), type 7 DST (DST-7), and type 8 DCT (DCT-8). DST-7 and DCT-8 may be more effective than DCT-2 when the residuals have an uneven distribution because the basis functions of DST-7 and DCT-8 may be more consistent with such statistics. Therefore, due to the diversity of image or video content, coding efficiency can be improved by not using a single transform kernel for all prediction residuals.

[0066] As described below, the current block may be decoded using the EIP mode. The following description is based on decoding a block in a frame, but similarly applies to encoding one or more blocks using the EIP mode. When the current block is decoded using the EIP mode (e.g., an indicator is optionally signaled in the bitstream to indicate that the bitstream contains information encoded using the EIP mode (e.g., an encoded block), the intra-frame prediction mode used to decode the current block is not signaled in the video bitstream (e.g., Figure 4A , and / or other directional prediction mode information). Decoding the current block using the EIP mode may involve selecting a transform kernel for the current block using a two-step process. For example, the transform kernel may be selected from a set of intra-prediction mode-related transforms, where each set has multiple transform kernel candidates. Extrapolation filter coefficients may be obtained from a reconstructed area adjacent to the current block (e.g., a reconstructed pixel containing neighboring pixels of the current block) using a predetermined template, as described below with reference to Figure 4B , Figure 4C , Figure 5A and Figure 5BNext, the prediction value can be generated by extrapolating from the upper left to the lower right position by position (e.g., sample by sample) within the current block, as shown in Figure 5A As shown. In some embodiments, when the input is fed to the EIP filter, the average value is removed. For example, the value of the DC mode of the current block can be used as the average value for the EIP prediction. The minimum and maximum values ​​can be searched from the reconstructed pixels in the reconstructed area (e.g., consisting of thirteen columns and thirteen rows).

[0067] In some embodiments, the EIP mode includes three types (e.g., three types or more than three types) of reconstruction regions and at least three filter shapes (e.g., three shapes or more than three shapes), such as Figure 4B and Figure 4C shown. Figure 4B Three different reconstruction regions 404, 408, and 410 are shown according to some embodiments. Reconstruction region 404 is a first type of reconstruction region that is L-shaped and abuts the top and left edges of a current block 406 (e.g., a prediction unit). Reconstruction region 408 is a second type of reconstruction region that is rectangular, has a width greater than its height (e.g., 3 columns x 8 rows), and abuts the top edge of the current block 406. Reconstruction region 410 is a third type of reconstruction region that is rectangular, has a height greater than its width (e.g., 8 columns x 3 rows), and abuts the left edge of the current block 406. In some embodiments, the EIP mode includes one or more additional reconstruction regions (e.g., with a different number of columns and / or rows).

[0068] Figure 4CDifferent example filter shapes according to some embodiments are shown. Filter shape 412 is a first filter shape in a square shape. Filter shape 412 includes 16 samples (e.g., positions), 15 shadow samples 418 in filter shape 412 are provided as input to the EIP mode, and the EIP mode provides a predicted output 420 at the sixteenth position in filter shape 412. Filter shape 414 is a second type of filter shape that also includes 16 samples or positions. Filter shape 414 is rectangular and has a width greater than its height. Filter shape 416 is a third filter shape in a rectangular shape and has a height greater than its width. Each filter shape in filter shape 412, filter shape 414, and filter shape 416 includes 16 samples (or positions), wherein 15 shadow samples 418 are provided as input to the EIP to generate a predicted output 420 at the sixteenth position. In some embodiments, the EIP mode includes one or more additional filter shapes (e.g., having different numbers of columns and / or rows). In some embodiments, when the current block 406 is predicted using the EIP mode, the decoder decodes one or more relevant syntax elements to determine the type and filter shape of the selected reconstruction area of ​​the current block. In some embodiments, the selected filter slides in the selected reconstruction area with a pixel step size to collect input samples and output samples of the EIP mode. In some embodiments, while removing the mean value from the input samples and output samples, an autocorrelation matrix and a cross-correlation vector are constructed. In some embodiments, the EIP coefficients are obtained in a similar way to that in the Convolutional Cross-Component Model (CCCM) for predicting chrominance samples from reconstructed luminance samples.

[0069] Using information from neighboring reconstructed blocks makes the EIP mode more adaptive and can provide a more efficient decoding process, rather than being limited to a set of limited intra-prediction modes of the EIP (e.g., only planar modes (e.g., mode 0) or DC modes (e.g., mode 1)). For example, when neighboring reconstructed samples do not have much directionality (e.g., decoded using DC mode or planar mode), one or more features associated with the EIP mode of the current block can reflect the lack of directionality. In contrast, when neighboring reconstructed samples have directionality (e.g., encoded using a 45-degree angle mode such as mode 2 or mode 34, or have strong directionality), one or more features associated with the EIP mode of the current block can reflect the directionality. Therefore, using one or more features associated with the EIP mode enables the current block to be encoded using an intra-prediction mode adapted to the directionality of the neighboring reconstructed samples. In some embodiments, one or more features associated with the EIP mode include a directionality indicator that is derived on the fly (e.g., derived during the decoding process and not signaled in the bitstream). The directionality indicator may be used to indicate whether directionality exists and / or to specify a directional intra prediction mode (eg, Figure 4A The derived angle of the directional intra prediction mode may be an angle that matches the texture pattern of the current block.

[0070] In some embodiments, deriving one or more features may be computationally more complex. In some embodiments, one or more features associated with the EIP mode (e.g., a directional indicator) are signaled in the bitstream. Although signaling one or more features may have a higher signaling cost, signaling can provide the encoder with greater flexibility to indicate how the decoder selects the transform core of the current block. In some embodiments, one or more features associated with the EIP mode of the current block decoded using the EIP mode are indexes signaled in the bitstream of the current block. The signaled index can be used to select the transform core at both the encoder and the decoder.

[0071] The derived or signaled directionality indicator may be used to map the EIP mode of the current block to a directional intra prediction mode (eg, Figure 4A In the embodiment of the present invention, the directional intra prediction mode is selected from the modes -14 to 80 described in the embodiment of the present invention or one of the non-directional intra prediction modes (e.g., planar mode or DC mode). Different directional intra prediction modes can have different transform kernel preferences. By providing the ability to select a transform kernel for a specific directional intra prediction, the characteristics of the current block can be more accurately represented, which can improve coding efficiency.

[0072] In some embodiments, one or more features associated with the EIP mode include one or more intra prediction modes of neighboring blocks, which can be used to map the EIP mode of the current block to one of a directional intra prediction mode or a non-directional intra prediction mode (e.g., a planar mode or a DC mode), and select a transform kernel for the current block. For example, if a 45-degree intra prediction mode (e.g., Figure 4A If mode 34 in is used to encode the upper neighbor and the left neighbor of the current block, the same intra prediction mode can be used for the EIP mode of the current block.

[0073] In addition to or instead of using one or more features associated with the EIP mode of the current block to derive a directional indicator for selecting a transform kernel for the current block, one or more features may be used to generate a prediction of an intra prediction mode for a subsequent block (e.g., a next block encoded using a conventional intra prediction mode instead of an EIP mode). In some embodiments, the one or more features associated with the EIP mode of the current block include one or more intra prediction modes of previously encoded neighboring blocks and the EIP mode of the current block. The one or more features are then mapped to one of a directional intra prediction mode or a non-directional intra prediction mode (e.g., plane or DC) for the next block encoded using the intra prediction mode.

[0074] Figure 5A An example of how to use the output from filter shape 412-1 to generate a prediction sample 420-4 (e.g., a prediction output from an EIP mode) from the upper left corner of a current block 504 toward a prediction sample 420-6 near the lower right corner of the current block is shown. In filter shape 412-1, all fifteen input samples (418) are reconstructed samples. In filter shape 412-2, there are 5 previously predicted samples 520 and 10 reconstructed samples. In filter shape 412-3, all 15 samples used as input to the EIP mode are previously predicted samples. The change in the properties of the samples within the filter shape is related to the relative position of the prediction output of the EIP mode within the current block 504.

[0075] Template-based Intra Mode Derivation (TIMD) is a method (e.g., by the decoder component 122) for deriving an intra prediction mode for a sample based on information from neighboring samples (e.g., adjacent samples or non-adjacent samples) in a template region. The neighboring samples may be reconstructed samples or previously predicted samples, and are collectively referred to below as "reconstructed neighboring samples." For each intra prediction mode in the Most Probable Mode (MPM) list, the Sum of Absolute Transformed Difference (SATD) between the predicted neighboring samples of the template and the reconstructed neighboring samples may be calculated. The intra prediction mode with the smallest SATD may be selected as the TIMD mode and used for prediction of the current block. For example, in order to determine using TIMD Figure 5C In order to determine the intra prediction mode of the current block 550 in the MPM list, two or more templates 554, 556, and 558 may be used. Each of the L-shaped templates 554, 556, and 558 includes a plurality of samples (e.g., 13 samples, 13 samples in each horizontal portion and each vertical portion of the L-shaped template). For each template, an increment representing the difference between the candidate prediction value based on the candidate prediction mode in the MPM list and the value from the reconstructed neighboring sample is derived for the current block 550. The candidate prediction mode with the smallest prediction error may be selected as the intra prediction mode of the current block. For example, if the direction of the candidate prediction mode is aligned with the reconstructed neighboring sample, the error (e.g., SATD) is small, and therefore information about the directionality of the current block may be inferred. The candidate prediction mode is then selected as the TIMD mode and used for the prediction of the current block 550. In some embodiments, in addition to the information about the current block 550, the encoded information from the template 554 is considered, and the encoded information is used to provide a prediction of the template 556, and then the prediction of the template 556 may be used to provide a prediction of the template 558.

[0076] Another method involves using decoder-side intra mode derivation (DIMD) to derive the intra prediction mode of the current block based on information from reconstructed neighboring samples. For example, the gradient of the encoded information in each reconstructed neighboring sample is calculated and used to fill the histogram. The prediction mode with the highest frequency can be selected as the intra prediction mode of the current block.

[0077] In some embodiments, one or more features associated with the EIP mode include a directional indicator specified by an intra-prediction mode derived using a TIMD or DIMD method. Therefore, one or more features include a directional indicator derived from neighboring reconstructed samples. In some embodiments, a signal can be used to indicate the selection of one of TIMD or DIMD to derive an intra-prediction mode. In some embodiments, TIMD is always selected, and a pair of templates (e.g., template 554 and template 556) are used to predict each other. In this way, the intra-prediction mode with the minimum prediction error can be identified as the intra-prediction mode to be used for the current block. Furthermore, the resulting intra-prediction can also be used as a directional indicator of the EIP mode of the current block. In some embodiments, one or more features include a directional indicator derived using an intra-prediction mode of neighboring samples (e.g., a signaled syntax indicating an intra-prediction mode of neighboring samples).

[0078] In some embodiments, one or more features associated with an EIP mode include a directionality indicator derived using coefficient values ​​of a filter used in the EIP mode. For example, a grayscale sample (e.g., Figure 4C Each grayscale sample in the filter shapes 412, 414, and 416 shown in 418-1, 418-2, 418-3) has a corresponding coefficient, and these coefficients and grayscale samples can be used together as inputs to the EIP mode. The predicted output (e.g., 420-1, 420-2, and 420-3) can be a weighted sum of grayscale samples, and the coefficients of the grayscale samples can present directional information. In some embodiments, the coefficient values ​​of the filter used in the EIP mode are further quantized into a finite set of combinations, and each combination can be optionally mapped to the value of the directional indicator. In some embodiments, the amplitude of the coefficient of the filter used in the EIP mode (optionally, the quantized amplitude) is optionally further (e.g., as input) provided to a lookup table to determine the value of the directional indicator. In some embodiments, the signed value of the coefficient of the filter used in the EIP mode (optionally, the quantized signed value, which can be negative) is optionally further (e.g., as input) provided to a lookup table to determine the value of the directional indicator.

[0079] In some embodiments, one or more features associated with the EIP mode are derived based on the filter shape. For example, different filter shapes can have different supported transform types. In some embodiments, the supported transform type is derived based on the aspect ratio of the filter shape (e.g., mapped to the aspect ratio of the filter shape).

[0080] In some embodiments, when the EIP mode is valid for the current block and the current block meets the boundary condition, one or more EIP mode parameters are selected from the first set of EIP parameters. When the current block does not meet the boundary condition, one or more EIP mode parameters are selected from the second set of EIP parameters. The second set of EIP parameters may include one or more parameters not included in the first set of EIP parameters. For example, the second set of EIP parameters includes Figure 4B , and the first set of EIP parameters is a subset of the second set of EIP parameters (e.g., the first set only includes reconstruction areas 404 and 408). In some embodiments, the second set of EIP parameters includes Figure 4B In some embodiments, use of the first set of EIP parameters (eg, derived at decoder component 122) is not signaled.

[0081] Figure 5B A cell 514 is shown that can correspond to a picture, a sub-picture, a slice, or a tile. In some embodiments, the boundary condition is satisfied when the current block is located at a first relative position from a picture boundary, a sub-picture boundary, a slice boundary, and / or a tile boundary. For example, the current block 510 has a first relative position relative to the top boundary portion 508 (e.g., within a threshold number of rows from the top edge and / or within the top boundary portion 508). Depending on the nature of the cell 514, the top boundary portion can correspond to a picture / sub-picture / slice / tile boundary. When the current block 510 is within the top boundary portion 508 and / or within a threshold number of rows from the top edge of the top boundary portion 508, the EIP mode parameters corresponding to the reconstruction area type can be restricted to a reconstruction area that only includes left reconstructed samples (e.g., Figure 4B 408). For example, when the number of available top rows of reconstructed samples above the current block is less than a threshold, only the reconstructed region 410 with left reconstructed samples is used to generate the prediction output 420. When the number of available top rows is less than a threshold (e.g., two or three rows), the result generated from the top region (e.g., similar to the reconstructed region 408) may be unreliable. In some embodiments, when the current block 510 satisfies the boundary condition, the type of the reconstructed region is not signaled, but the type of the reconstructed region is derived to correspond to Figure 4B 4. Optionally, the EIP mode is not valid for the current block within the top boundary portion 508. Additionally or alternatively, when the current block 510 is within the top boundary portion 508 and / or within a threshold number of rows from the top edge of the top boundary portion 508, the EIP mode parameters corresponding to the filter shape may be restricted to a subset of the filter shapes. For example, the restricted subset of filter shapes may include only Figure 4C Filter shape 416 shown in .

[0082] For example, when the current block 512 has a second relative position with respect to the left boundary portion 506 (e.g., within a threshold number of columns from the left edge and / or within the left boundary portion 506). Depending on the nature of the unit 514, the left boundary portion 506 may correspond to a picture / sub-picture / slice / tile boundary. When the current block 512 is within the left boundary portion 506 and / or within a threshold number of lines (e.g., columns) from the left edge of the left boundary portion 506, the type of the reconstructed region includes only top reconstructed samples (e.g., Figure 4B For example, when the number of available left columns of reconstructed samples to the left of the current block is less than a threshold, only the reconstructed region 408 having the top reconstructed samples is used to generate the prediction output 420. In some embodiments, when the current block 512 satisfies the boundary condition, the type of the reconstructed region is not signaled, but the type of the reconstructed region is derived to correspond to Figure 4B 4. Optionally, the EIP mode is not effective for the current block within the left boundary portion 506. Additionally or alternatively, when the current block 512 is within the left boundary portion 506 and / or within a threshold number of columns from the left edge of the left boundary portion 508, the EIP mode parameters corresponding to the filter shape may be restricted to a subset of the filter shapes. For example, the restricted subset of filter shapes may include only Figure 4C Filter shape 414 shown in .

[0083] For a set of three reconstruction regions and a set of three filter shapes, there are nine combinations of reconstruction region-filter shape pairs (e.g., three combinations from reconstruction region 404 paired with each of filter shapes 412, filter shape 414, and filter shape 416; three combinations from reconstruction region 408 paired with each of filter shapes 412, filter shape 414, and filter shape 416; and three combinations from reconstruction region 410 paired with each of filter shapes 412, filter shape 414, and filter shape 416). In some embodiments, when the current block satisfies the boundary conditions, the combinations are restricted to a subset of the nine combinations. For example, each type of reconstruction region can be paired with only two of the three filter shapes, or each type of reconstruction region can be paired with only one of the filter shapes. In some embodiments, reconstruction region 404 is paired with filter shape 412 only, reconstruction region 408 is paired with filter shape 414 only, and reconstruction region 410 is paired with filter shape 416 only.

[0084] In some embodiments, for coding blocks located in region 516 of cell 514 (eg, at a partition boundary, or at the upper left corner of cell 514), the indicator of the EIP mode is not signaled, indicating that the EIP mode is invalid for the coding block.

[0085] In some embodiments, when the current block is encoded in EIP mode and only some samples of the requested reconstructed region type (e.g., and associated filter shape) are available, the missing samples are filled (e.g., using a predefined value, using a copy of another sample, by extrapolating from the available samples, or by interpolating using the available samples) to construct a reconstructed region with a complete set of samples. Figure 5B , the current block 512 satisfies the boundary condition (e.g., the current block 512 is within the left portion boundary 506), and the EIP mode parameters corresponding to the filter shape of the current block may indicate the use of the filter shape 414 of the current block 512, and optionally include the use of the reconstruction area 408. Figure 4C As shown, 15 input samples (shaded boxes) are used to generate prediction output 420-4 according to filter shape 414. Figure 5C In the example, eight samples in region 518 are missing from filter shape 414 (e.g., outside the reconstruction region and / or outside cell 514). In some embodiments, predefined (e.g., constant) values ​​are used to fill in the missing samples in the filter shape (e.g., the eight missing samples in region 518). An advantage of filling in the missing samples (e.g., within the reconstruction region and / or within the filter samples) is that a unified processing scheme can be used for both the reconstructed regions or filter shapes with missing samples and the reconstructed regions or filter shapes with a complete set of samples. Having a unified processing scheme can reduce hardware requirements (e.g., using a shared or common pipeline for different processing scenarios).

[0086] In some embodiments, the predefined value is set to 1<<(bitdepth-1), where bitdepth is the bit depth of the luma sample or the chroma sample. For example, when the bit depth of the luma sample is 4, the predefined value is 1*2 3 = 8. In some embodiments, the available rows and columns are extended toward the missing rows and columns in the template of the reconstructed region. Figure 5B , the seven samples to the right of region 518 are shifted into region 518 to help construct the eight missing samples (eg, filling the missing eighth sample and / or using a copy of one of the seven samples for the eighth sample).

[0087] In some embodiments, the filled samples are derived line by line (e.g., row by row, column by column). For example, the missing samples in the line closest to the available reconstruction area are derived from N (N>=1) available neighboring samples. In some embodiments, the average of the N neighboring samples is used to fill the missing samples in the line closest to the N neighboring samples. In a manner similar to TIMD, the operation is repeated for the newly filled lines to obtain values ​​for filling the missing samples in the line that is second closest to the available reconstruction area (e.g., and then the line that is third closest to the available reconstruction area and the line that is fourth closest to the available reconstruction area, etc.) until all missing samples are filled, but the derived values ​​are used for filling and not for prediction. For example, in Figure 5B In the enlarged version of the filter shape 414 shown at the bottom of FIG. 5 , region 518 includes a first line 526 that is closest to the available reconstruction area. Figure 5B An example is shown where N=4 and the four available samples within region 530 are used to derive the value (e.g., average, maximum, or minimum) of the samples in first line 526. Subsequently, the next four available samples within region 532 (including the newly filled sample from first line 526) are used to derive the value of the samples in second line 528. This process is repeated until all four missing lines are filled.

[0088] One or more features of the EIP mode can be used for one or more of the following: (1) selecting a primary transform set or a primary transform type; (2) selecting a secondary transform set or a secondary transform type; and / or (3) deriving the most likely intra prediction mode for other coding blocks (e.g., coding blocks after the current block). A secondary transform is an additional transform process after a primary transform. For example, in NSST, a non-separable secondary transform is applied to low-frequency coefficients so that the computational complexity of the non-separable transform can be reduced.

[0089] The LFNST set indicates a set of transform kernel options that can be selected in the LFNST. In some embodiments, four LFNST sets denoted as lfnstSetIdx are defined (e.g., in VVC), and the selection of the set may depend on the intra prediction mode. Three different options for the LFNST kernel are provided in each of the four LFNST sets, and an index (e.g., between 0 and 2) is used to indicate which of the three kernels to use. For example, when the index is 0, LFNST may not be applied. Otherwise, LFNST is applied using one of the two kernels in the LFNST set, and the selection is indicated by the LFNST index.

[0090] As another example, if the intra prediction mode of the current block is a planar vertical mode, the horizontal intra prediction mode can be used to derive the transform kernels in the MTS set and the LFNST set. In addition, if the intra prediction mode of the current block is a planar horizontal mode, the vertical intra prediction mode can be used to derive the transform kernels in the MTS set and the LFNST set.

[0091] In some embodiments, a separate transform set is used for EIP mode. For example, when EIP mode is selected for the current block, a separate primary transform set and / or secondary transform set may be applied. Alternatively, there may be some overlap between the primary transform set and / or secondary transform set for EIP mode and non-EIP mode. For example, some existing transform sets for non-EIP mode may not be optimal for EIP mode (and are excluded from consideration for EIP mode), while other existing transform sets may also be used for EIP mode.

[0092] In some embodiments, multiple cores may be used for each transform set. For example, an indicator (e.g., an indicator optionally represented by a signal) determines the transform set to be used (e.g., one of 12 transform sets), and a second indicator (e.g., optionally represented by a signal) is used to determine which core in the set will be used for the EIP mode. In some embodiments, depending on whether the IP mode is valid, different cores are preferred for intra prediction modes at the same angle. As an example, a sample may be encoded using a 45° intra prediction mode, and the sample contains very sharp features, while another sample may also be encoded using a 45° intra prediction mode, but the sample contains very smooth features. The two samples may prefer different cores and / or different transform sets in a particular transform set. In some embodiments, there are 12 transform sets, and each set has 3 cores (e.g., all three cores are used for the same angle). Given an intra prediction mode for the EIP mode, one of the 12 sets is selected, and the indicator represented by the signal may indicate which of the three cores is to be used. In some implementations, additional transform sets are added for the EIP mode (eg, resulting in a total of 15 or more transform sets).

[0093] Fig. 6A 6 is a flow chart illustrating a method 600 of decoding a video according to some embodiments. The method 600 may be performed at a computing system (e.g., server system 112, source device 102, or electronic device 120) having a control circuit system and a memory storing instructions for execution by the control circuit system. In some embodiments, the method 600 is performed by executing instructions stored in a memory (e.g., memory 314) of the computing system.

[0094] The system receives (602) a video bitstream comprising a plurality of blocks. The system parses (604) from the video bitstream an indicator indicating that a current block among the plurality of blocks is to be decoded using an extrapolation filter intra prediction (EIP) mode. The system identifies (606) transform information (e.g., transform size, type, and / or kernel) for the current block based on EIP features, the EIP features comprising directionality information associated with the EIP mode and / or an index of the EIP mode. The system generates (608) a transform block for the current block using the transform information. For example, when encoding the current block using the EIP mode, one or more features are derived or signaled to select a transform kernel for the current block or to derive intra prediction modes for other encoded blocks (e.g., as described above with respect to FIG. 4A to FIG. 4C and FIG. 5A to FIG. 5C described).

[0095] Figure 6B 6 is a flow chart illustrating a method 650 of encoding a video according to some embodiments. The method 650 may be performed at a computing system (e.g., server system 112, source device 102, or electronic device 120) having a control circuit system and a memory storing instructions for execution by the control circuit system. In some embodiments, the method 650 is performed by executing instructions stored in a memory (e.g., memory 314) of the computing system.

[0096] The system receives (652) video data comprising a plurality of video blocks. The system determines (654) an extrapolation filter intra prediction (EIP) mode that is valid for a current block in the plurality of video blocks. The system identifies (656) transform information for the current block based on an EIP feature, the EIP feature comprising directionality information associated with the EIP mode and / or an index of the EIP mode. The system generates (658) a transform block for the current block using the transform information. The system signals (660) one or more transform coefficients corresponding to the transform block via a video bitstream. As previously described, the encoding process can mirror the decoding process described herein (e.g., the EIP implementation described above). For the sake of brevity, these details are not repeated here.

[0097] Although Fig. 6A and Figure 6B Multiple logical stages are shown in a particular order, but stages that do not depend on order may be reordered, and other stages may be combined or split. Some reordering or other groupings not specifically mentioned will be apparent to one of ordinary skill in the art, so the ordering and groupings presented herein are not exhaustive. Furthermore, it should be appreciated that the stages may be implemented in hardware, firmware, software, or any combination thereof.

[0098] Turning now to some example implementations.

[0099] (A1) In one aspect, some embodiments include a method of video decoding (e.g., method 600). In some embodiments, the method is performed at a computing system (e.g., server system 112) having a memory and one or more processors. In some embodiments, the method is performed at a codec module (e.g., codec module 320). The method includes: (i) receiving a video bitstream (e.g., an encoded video sequence) including a plurality of blocks; (ii) parsing an indicator from the video bitstream indicating that a current block among the plurality of blocks is to be decoded using an extrapolation filter intra prediction (EIP) mode; (iii) identifying transform information of the current block according to an EIP feature, the EIP feature including directionality information associated with the EIP mode and / or an index of the EIP mode; and (iv) generating a transform block of the current block using the transform information. For example, when the current block is encoded by the EIP mode, deriving or signaling one or more features to select a transform kernel of the current block or deriving an intra prediction mode of other encoded blocks.

[0100] (A2) In some embodiments described in A1, the method further includes: determining an intra-frame prediction mode of a subsequent block based on the directional information and / or the index; and reconstructing the subsequent block using the determined intra-frame prediction mode. For example, the EIP feature is used to derive the most likely intra-frame prediction mode of other coding blocks.

[0101] (A3) In some embodiments described in A1 or A2, the directionality information includes an identifier of a set of one or more intra-frame prediction modes associated with the EIP mode. For example, the EIP feature indicates one or more intra-frame prediction modes, which can be used to map the EIP mode of the current block to one of the traditional directional intra-frame prediction modes or non-directional intra-frame prediction modes (e.g., planar or DC). In some embodiments, the EIP feature includes an identifier of the intra-frame prediction mode mapped to the EIP mode. For example, the EIP feature includes a directionality indicator of the current block, which can be used to map the EIP mode of the current block to one of the traditional directional intra-frame prediction modes or non-directional intra-frame prediction modes (e.g., planar or DC).

[0102] (A4) In some embodiments of any one of A1 to A3, an index of the EIP mode is signaled in the video bitstream. For example, the index is explicitly signaled for the current block for which the EIP mode is selected, and the index is used to select the transform kernel at both the encoder and the decoder.

[0103] (A5) In some embodiments of any one of A1 to A4, the transformation information includes one or more of the following: a primary transformation set, a primary transformation type, a secondary transformation set, and a secondary transformation type. For example, the EIP feature is used to select the primary transformation set or the primary transformation type. As another example, the EIP feature is used to select the secondary transformation set or the secondary transformation type.

[0104] (A6) In some embodiments of any one of A1 to A5, the directionality information is derived using template-based intra mode derivation (TIMD) or decoder-side intra mode derivation (DIMD). For example, the EIP feature is a directionality indicator specified by the intra prediction mode derived using the TIMD or DIMD method.

[0105] (A7) In some embodiments of any one of A1 to A5, the directionality information is derived from a set of coefficient values ​​used in the EIP mode. For example, the EIP feature is a directionality indicator derived from coefficient values ​​of a filter used in the EIP mode. The set may include one or more values.

[0106] (A8) In some embodiments described in A7, the method further includes generating a second set of coefficient values ​​by quantizing a set of coefficient values ​​used in the EIP mode, wherein the directionality information is derived from the second set of coefficient values. For example, the coefficient values ​​of the filter used in the EIP mode are further quantized into a finite set of combinations, and each combination is mapped to a value of the directionality indicator. In some embodiments, the second set of coefficient values ​​corresponds to a subset of the set of coefficient values.

[0107] (A9) In some embodiments described in A7, the directionality information is derived using the amplitude associated with a set of coefficient values ​​as an index into a lookup table. For example, the amplitude of the coefficients of the filter used in the EIP mode (which may be quantized) is further fed into the lookup table to find the value of the directionality indicator.

[0108] (A10) In some embodiments described in A7, the directionality information is derived using a sign value associated with a set of coefficient values ​​as an index into a lookup table. For example, the sign values ​​of the coefficients of the filter used in the EIP mode (which may be quantized) are further fed into the lookup table to find the value of the directionality indicator. In some embodiments, the index into the lookup table is generated based on both the amplitude and the sign value.

[0109] (A11) In some embodiments of any one of A1 to A10, the directionality information is derived using intra prediction mode information of one or more neighboring blocks of the current block. For example, the EIP feature is a directionality indicator derived using neighboring intra prediction modes.

[0110] (A12) In some embodiments of any one of A1 to A10, information from one or more reconstructed neighboring blocks of the current block is used to derive the directionality information. For example, the EIP feature is a directionality indicator derived from neighboring reconstructed samples.

[0111] (A13) In some embodiments of any of A1 to A12, the directionality information is derived based on one or more filter shapes used in the EIP mode. For example, the EIP feature is derived based on the filter shape. In some embodiments, the EIP mode uses a specific filter shape from a set of filter shapes, and the specific filter shape is used to derive the directionality information.

[0112] (A14) In some embodiments described in A13, one or more filter shapes correspond to a subset of allowed transform types for the current block, and wherein the transform information identifies one of the allowed transform types. For example, different filter shapes may have different supported transform types.

[0113] (A15) In some embodiments described in A13, the transformation information is identified according to the aspect ratio of one or more filter shapes. For example, the supported transformation type is derived according to the aspect ratio of the filter shape.

[0114] (A16) In some embodiments of any one of A1 to A15, the method includes: when the EIP mode is valid for the current block, identifying a first transform set for the current block, wherein transform information is identified based on the first transform set; and when the EIP mode is invalid for the current block, identifying a second transform set for the current block, wherein the second transform set includes one or more transforms not included in the first transform set, and wherein transform information is identified based on the second transform set. For example, when the EIP mode is selected for the current block, a separate primary transform set and / or secondary transform set may be applied. There may be some overlap in the primary transforms and / or secondary transforms applied between the EIP mode and other modes. In some embodiments, based on the EIP mode being valid for the current block, identifying a first transform set for the current block, wherein transform information is identified based on the first transform set; and based on the EIP mode being invalid for the current block, identifying a second transform set for the current block, wherein the second transform set includes one or more transforms not included in the first transform set, and wherein transform information is identified based on the second transform set.

[0115] (B1) In another aspect, some embodiments include a method of video encoding (e.g., method 650). In some embodiments, the method is performed at a computing system (e.g., server system 112) having a memory and one or more processors. In some embodiments, the method is performed at a codec module (e.g., codec module 320). The method includes: (i) receiving video data including a plurality of video blocks; (ii) determining that an extrapolation filter intra prediction (EIP) mode is valid for a current block among the plurality of video blocks; (iii) identifying transform information of the current block based on an EIP feature, the EIP feature including directionality information associated with the EIP mode and / or an index of the EIP mode; (iv) generating a transform block of the current block using the transform information; and (v) signaling one or more transform coefficients corresponding to the transform block via a video bitstream.

[0116] (B2) In some embodiments described in B1, the system also includes instructions for signaling directionality information associated with the EIP mode and / or an index of the EIP mode in the video bitstream.

[0117] (B3) In some embodiments described in B1 or B2, the transformation information includes one or more of the following: a primary transformation set, a primary transformation type, a secondary transformation set, and a secondary transformation type.

[0118] (C1) In another aspect, some embodiments include a method for visual media data processing. In some embodiments, the method is performed at a computing system (e.g., server system 112) having a memory and one or more processors. In some embodiments, the method is performed at a codec module (e.g., codec module 320). The method includes: (i) obtaining a source video sequence including a plurality of frames; and (ii) performing conversion between the source video sequence and a video bitstream of visual media data, wherein the video bitstream includes: (a) a plurality of coding blocks corresponding to a plurality of video blocks; (b) a set of transform coefficients corresponding to a first block of the plurality of coding blocks; (c) a first indicator indicating that an extrapolation filter intra prediction (EIP) mode is valid for the first block; and (d) a second indicator indicating directional information of the EIP mode of the first block.

[0119] (D1) In one aspect, some embodiments include a method of video decoding. In some embodiments, the method is performed at a computing system (e.g., server system 112) having a memory and one or more processors. In some embodiments, the method is performed at a codec module (e.g., codec module 320). The method includes: (i) receiving a video bitstream including a plurality of blocks; (ii) determining an intra-prediction mode of a current block among the plurality of blocks based on encoded information of an extrapolation filter intra-prediction (EIP) mode of a previous block among the plurality of blocks; and (iii) reconstructing the current block using the determined intra-prediction mode.

[0120] (D2) In some embodiments described in D1, the encoded information includes one or more of the following: a directionality indicator of a previous block, an intra-frame prediction mode identified according to an EIP mode of a previous block, and an index of the EIP mode.

[0121] (D3) In some embodiments described in D2, the method also includes identifying transformation information of a previous block based on the encoded information.

[0122] (D4) In some embodiments of any one of D1 to D3, the method further comprises any of the various techniques described above with respect to A1 to A16.

[0123] (E1) In one aspect, some embodiments include a method for video decoding. In some embodiments, the method is performed at a computing system (e.g., server system 112) having a memory and one or more processors. In some embodiments, the method is performed at a codec module (e.g., codec module 320). The method includes: (i) receiving a video bitstream including a plurality of blocks; (ii) when an extrapolation filter intra prediction (EIP) mode is valid for a current block among the plurality of blocks, identifying transform information of the current block according to a first transform set; (iii) when the EIP mode is invalid for the current block, identifying transform information of the current block according to a second transform set, wherein the second transform set includes one or more transforms not included in the first transform set, and (iv) generating a transform block of the current block using the transform information.

[0124] (E2) In some embodiments described in E1, the transformation information is identified based on one or more of the following: a directionality indicator of the current block, an intra prediction mode identified according to an EIP mode of the current block, and an index of the EIP mode.

[0125] (E3) In some embodiments described in E1 or E2, the method also includes any of the various techniques described above with respect to A1 to A16.

[0126] In another aspect, some embodiments include a computing system (e.g., server system 112) that includes a control circuit system (e.g., control circuit system 302) and a memory (e.g., memory 314) coupled to the control circuit system, the memory storing one or more instruction sets configured to be executed by the control circuit system, the one or more instruction sets including instructions for performing any of the methods described herein (e.g., A1 to A16, B1 to B3, C1, D1 to D4, and E1 to E3 above).

[0127] In yet another aspect, some embodiments include a non-transitory computer-readable storage medium storing one or more instruction sets for execution by a control circuit system of a computing system, the one or more instruction sets including instructions for performing any of the methods described herein (A1 to A16, B1 to B3, C1, D1 to D4, and E1 to E3 above).

[0128] It should be understood that, although the terms "first", "second" etc. can be used to describe various elements in this article, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. The terms used in this article are only for the purpose of describing a specific embodiment, and are not intended to limit the claims. As used in the description of the embodiments and the appended claims, unless the context clearly indicates otherwise, the singular forms "one (a)", "one (an)" and "the" are also intended to include plural forms. It should also be understood that the term "and / or" as used in this article refers to and encompasses any and all possible combinations of one or more of the associated listed items in the associated listed items. It should also be understood that when used in this specification, the term "includes" and / or "comprising" specifies the existence of stated features, integers, steps, operations, elements and / or parts, but does not exclude the existence or addition of one or more other features, integers, steps, operations, elements, parts and / or its groups.

[0129] As used herein, the term "when" may be interpreted, depending on the context, to mean "if the precondition is true" or "after the precondition is true" or "in response to determining that the precondition is true" or "according to determining that the precondition is true" or "in response to detecting that the precondition is true". Similarly, the phrase "if it is determined that [the precondition is true]" or "if [the precondition is true]" or "when [the precondition is true]" may be interpreted, depending on the context, to mean "after determining that the precondition is true" or "in response to determining that the precondition is true" or "according to determining that the precondition is true" or "after detecting that the precondition is true" or "in response to detecting that the precondition is true". As used herein, N refers to a variable number. Unless explicitly stated, different instances of N may refer to the same number (e.g., the same integer value, such as the number 2) or different numbers.

[0130] For the purpose of illustration, the foregoing description has been described with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the claims to the precise forms disclosed. In view of the above teachings, many modifications and variations are possible. These embodiments are selected and described in order to best illustrate the principles of operation and practical application, thereby enabling others skilled in the art to implement.

Claims

1. A method of video decoding performed at a computing system having a memory and one or more processors, the method comprising: receiving a video bitstream comprising a plurality of blocks; parsing from the video bitstream an indicator indicating that a current block of the plurality of blocks is to be decoded using an extrapolation filter intra prediction (EIP) mode; identifying transformation information of the current block according to an EIP feature, wherein the EIP feature includes directionality information associated with the EIP mode and / or an index of the EIP mode; and A transform block of the current block is generated using the transform information.

2. The method according to claim 1, further comprising: determining an intra prediction mode of a subsequent block based on the directionality information and / or the index; as well as The subsequent block is reconstructed using the determined intra prediction mode.

3. The method according to claim 1, wherein: The directionality information includes an identification of a set of one or more intra prediction modes associated with the EIP mode.

4. The method according to claim 1, wherein: An index of the EIP mode is signaled in the video bitstream.

5. The method according to claim 1, wherein: The transformation information includes one or more of the following: a primary transformation set, a primary transformation type, a secondary transformation set, and a secondary transformation type.

6. The method according to claim 1, wherein: The directionality information is derived using template-based intra mode derivation (TIMD) or decoder-side intra mode derivation (DIMD).

7. The method according to claim 1, wherein: The directionality information is derived from a set of coefficient values ​​used in the EIP mode.

8. The method according to claim 7, further comprising: A second set of coefficient values ​​is generated by quantizing the set of coefficient values ​​used in the EIP mode, wherein the directionality information is derived from the second set of coefficient values.

9. The method according to claim 7, wherein: The directionality information is derived using the magnitude associated with the set of coefficient values ​​as an index into a lookup table.

10. The method according to claim 7, wherein: The directionality information is derived using a sign value associated with the set of coefficient values ​​as an index into a lookup table.

11. The method according to claim 1, wherein: The directionality information is derived using intra prediction mode information of one or more neighboring blocks of the current block.

12. The method according to claim 1, wherein: The directional information is derived using information from one or more reconstructed neighboring blocks of the current block.

13. The method according to claim 1, wherein: The directionality information is derived based on one or more filter shapes used in the EIP mode.

14. The method according to claim 13, wherein: The one or more filter shapes correspond to a subset of allowed transform types for the current block, and wherein the transform information identifies one of the allowed transform types.

15. The method according to claim 13, wherein: The transform information is identified based on an aspect ratio of the one or more filter shapes.

16. The method according to claim 1, further comprising: When the EIP mode is valid for the current block, identifying a first transform set for the current block, wherein the transform information is identified according to the first transform set; and When the EIP mode is invalid for the current block, a second transform set for the current block is identified, wherein the second transform set includes one or more transforms not included in the first transform set, and wherein the transform information is identified according to the second transform set.

17. A computing system comprising: Control circuit system; Memory; as well as one or more instruction sets stored in the memory and configured for execution by the control circuit system, the one or more instruction sets comprising instructions for: receiving video data comprising a plurality of video blocks; determining an extrapolation filter intra prediction (EIP) mode is valid for a current block in the plurality of video blocks; Identifying transformation information of the current block according to an EIP feature, wherein the EIP feature includes directionality information associated with the EIP mode and / or an index of the EIP mode; generating a transform block of the current block using the transform information; as well as One or more transform coefficients corresponding to the transform block are signaled via a video bitstream.

18. The computing system of claim 17, further comprising: The directionality information associated with the EIP mode and / or an index of the EIP mode is signaled in the video bitstream.

19. The computing system of claim 17, wherein: The transformation information includes one or more of the following: a primary transformation set, a primary transformation type, a secondary transformation set, and a secondary transformation type.

20. A non-transitory computer-readable storage medium storing one or more instruction sets configured for execution by a computing device having a control circuit system and a memory, the one or more instruction sets comprising instructions for: Obtaining a source video sequence comprising a plurality of video blocks; as well as performing a conversion between the source video sequence and a bitstream of visual media data, wherein: The bitstream includes: a plurality of coding blocks corresponding to the plurality of video blocks; a set of transform coefficients corresponding to a first block of the plurality of coding blocks; a first indicator indicating that an extrapolation filter intra prediction (EIP) mode is effective for the first block; and A second indicator indicating directionality information of the EIP mode of the first block.