Neural video coding

The adaptive context generation and parallel coding in NVCs address the complexity and latency issues of existing NVCs, enhancing real-time coding efficiency and compression performance.

WO2026060572A1PCT designated stage Publication Date: 2026-03-26MICROSOFT TECHNOLOGY LICENSING LLC +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-18
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing neural video codecs (NVCs) face challenges in achieving real-time coding due to high complexity and latency caused by intricate temporal modules, leading to reduced rate-distortion performance and increased coding latency.

Method used

A simplified NVC framework using adaptive context generation and parallel coding, which eliminates explicit motion estimation-coding-compensation and reduces network inference and entropy coding times by employing adaptive aggregation of reference features to generate context information for efficient temporal modeling.

Benefits of technology

This approach significantly reduces network inference and entropy coding times, enabling real-time video coding with improved compression ratios and reduced complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024119528_26032026_PF_FP_ABST
    Figure CN2024119528_26032026_PF_FP_ABST
Patent Text Reader

Abstract

According to implementations of the present disclosure, there is provided a solution for neural video coding. In this solution, a reference feature of a reference image for a target image is determined during a conversion between the target image and a bitstream. A context feature is generated for the target image based on the reference feature of the reference image and a representation of the target image. The conversion is performed based on the context feature. In implementations of the present disclosure, the reference feature is aggregated based on the target image to generate the temporal context. In this way, redundancy (for example, temporal redundancy) may be effectively reduced, which leads to an improved compression ratio.
Need to check novelty before this filing date? Find Prior Art

Description

NEURAL VIDEO CODINGBACKGROUND

[0001] Neural video codecs (NVCs) have exhibited significant potential in reducing redundancy within video data to achieve higher compression ratios. Derived from traditional video codecs, most existing NVCs employ explicit motion estimation-coding-compensation to reduce temporal redundancy. From the early deep video compression (DVC) to the recent NVCs, there is a trend towards integrating intricate temporal modules, such as motion prediction, multiple references, and improved motion representations. By exploiting more extensive temporal contextual information, these modules enhance the rate-distortion performance of NVCs to surpass traditional codecs.SUMMARY

[0002] According to implementations of the present disclosure, there is provided a solution for neural video coding. In this solution, a reference feature of a reference image for a target image is determined during a conversion between the target image and a bitstream. A context feature is generated for the target image based on the reference feature of the reference image and a representation of the target image. Then, the conversion is performed based on the context feature. In implementations of the present disclosure, the reference feature is aggregated based on the target image to generate context information, for example the temporal context in case of video coding. In this way, redundancy (for example, temporal redundancy) may be effectively reduced, which leads to an improved compression ratio. Moreover, the proposed solution requires fewer modules and is free of explicit motion estimation-coding-compensation, which can significantly reduce both network inference time and entropy coding time.

[0003] The Summary is to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. The Summary is not intended to identify key features or essential features of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0004] FIG. 1 illustrates a block diagram of an example environment in which various  implementations of the present disclosure may be implemented;

[0005] FIG. 2 illustrates a block diagram of an example adaptive conditional coding architecture in accordance with some implementations of the present disclosure;

[0006] FIG. 3 illustrates a block diagram of an example NVC framework in accordance with some implementations of the present disclosure;

[0007] FIG. 4 illustrates a block diagram of an example adaptive aggregation module in accordance with some implementations of the present disclosure;

[0008] FIG. 5A illustrates a parallel encoding process in accordance with some implementations of the present disclosure;

[0009] FIG. 5B illustrates a parallel decoding process in accordance with some implementations of the present disclosure;

[0010] FIG. 6 illustrates a flow chart of a method according to implementations of the present disclosure;

[0011] FIG. 7 illustrates a block diagram of an electronic device in which various embodiments of the present disclosure can be implemented;

[0012] Throughout the drawings, the same or similar reference symbols refer to the same or similar elements.

[0013] DETAILED DESCRIPTION OF IMPLEMENTATIONS

[0014] Principles of the present disclosure will now be described with reference to some example implementations. It is to be understood that these implementations are described only for the purpose of illustration and help those skilled in the art to better understand and thus implement the present disclosure, without suggesting any limitations to the scope of the subject matter disclosed herein.

[0015] As used herein, the term “includes” and its variants are to be read as open terms that mean “includes, but is not limited to. ” The term “based on” is to be read as “based at least in part on. ” The terms “an implementation” and “one implementation” are to be read as “at least one implementation. ” The term “another implementation” is to be read as “at least one other implementation. ” The term “first, ” “second, ” and the like may refer to different or the same objects. Other definitions, either explicit or implicit, may be included below.

[0016] As used herein, a “machine learning model” is an AI model, which may also be  referred to as a “learning model” , “learning network” , “network model” , or “model. ” These terms are used interchangeably hereinafter. A deep learning model is one example machine learning model, examples of which include a “neural network. ” A parameter set of the machine learning model is determined through a training phrase of the model based on training data. The trained machine learning model maps a received input to a corresponding output using the trained parameter set. Therefore, the training process of a machine learning model may be considered as learning, from the training data, a mapping or association between the input and the output.

[0017] Example environment

[0018] FIG. 1 illustrates a block diagram of an example environment 100 in which various implementations of the subject matter described herein can be implemented. In the environment of FIG. 1, an electronic device 110 includes a video codec 112 configured to encode and / or decode a video. An electronic device 120 includes a video codec 122 configured to encode and / or decode a video. The video codec 112 or video codec 122 may include encoders and / or decoders. In the encoding, an encoder may encode a video 130 into a bitstream 132. In the decoding, a decoder may decode the bitstream 132 into the video 130.

[0019] The electronic devices 110 and 120 can communicate with each other through any appropriate communication network. In some codec scenarios, the electronic device 110 and the electronic device 120 may perform video communication, and the video codec 112 and 122 may both implement the encoding and decoding of the video. For example, the electronic device 110 may provide a bitstream obtained after video encoding to the electronic device 120 for decoding, and the electronic device 120 may decode the received bitstream to obtain the corresponding video. In addition, the electronic device 120 may also provide a video encoding result to the electronic device 110 for decoding. In some codec scenarios, the video codec 112 in the electronic device 110 may include an encoder for encoding a video into a bitstream. The electronic device 120 may include a video playback tool, where the video codec 122 includes a decoder for decoding the bitstream generated by the video codec 112 to obtain the video for playback.

[0020] It would be appreciated that the devices and elements shown in FIG. 1 are only examples. In practical applications, there may exist more electronic devices, and each electronic device may have video encoding and / or decoding functions.

[0021] As mentioned above, multiple temporal modules are integrated in NVCs. However,  the incorporation of these modules also introduces non-trivial framework complexity. It causes higher coding latency, which limits their applicability in real-time scenarios, such as video communication. To accelerate a coding speed of existing NVCs, the channel number may be attempted to be reduced straightforwardly, but the coding speed still remains a relatively low frames per second (fps) . Meanwhile, its rate-distortion performance has a severe decline. This exposes the challenge of enhancing existing NVCs for real-time coding. Faced with this issue, it is expected to design an efficient NVC with simpler framework and lower complexity to achieve real-time instead of adding more modules.

[0022] To address the above issue, the basic framework of recent advanced conditional video codecs is rethought. Their modules may be categorized as two parts: a motion-based temporal modeling part to generate temporal context information, and a conditional codec to utilize this context information for coding the current frame. However, this framework requires a complex motion estimation-coding-compensation process to accomplish temporal modeling, leading to significant time consumption.

[0023] In some related works, a residual coding approach to compress the residual between predicted is adopted to compress the residual between predicted and current frames. Subsequently, conditional coding has emerged as a superior paradigm that surpasses residual coding in performance. It can be applied to entropy modules or auto-encoder to achieve enhanced performance.

[0024] Motion modules aim to reduce the temporal redundancy by predicting the next frame using motion information. Some approaches explore temporal information from multiple reference frames for accurate prediction, while others employ techniques like motion prediction or motion information propagation to minimize redundancy in motion coding. Various methods introduce the improved motion representations, such as scale-space flow, deformable convolution or group-based diverse offsets to handle the complex motion patterns. However, these methods often involve multiple modules for motion-related operations, resulting in the increased complexity and latency.

[0025] According to implementations of the present disclosure, there is provided a solution for neural video coding. In this solution, a reference feature of a reference image for a target image is determined during a conversion between the target image and a bitstream. A context feature is generated for the target image based on the reference feature of the reference image and a representation of the target image. Then, the conversion is performed based on the  context feature.

[0026] In implementations of the present disclosure, the reference feature is aggregated based on the target image to generate context information, for example the temporal context in the case of video coding. Such context information may replace the motion estimation in the conventional solution. This is an adaptive context generation scheme, offering a simpler and motion-free approach for efficient temporal modeling. In this way, redundancy (for example, temporal redundancy) may be effectively reduced, which leads to an improved compression ratio.

[0027] Moreover, the present disclosure introduces an adaptive conditional coding paradigm to simplify the NVC framework and establish an efficient NVC. Specifically, the proposed solution requires fewer modules and is free of explicit motion estimation-coding-compensation, which can significantly reduce both network inference time and entropy coding time.

[0028] Example implementations of the present disclosure will be discussed in detail below with reference to FIGS. 2-7. In the following, some implementations may be described with respect to a video. However, this is merely for purposes of illustration without any limitation, and implementations of the present disclosure may be used for visual data of other types, for example, an image, an image set, etc.

[0029] Example adaptive conditional coding architecture

[0030] FIG. 2 illustrates a block diagram of an example adaptive conditional coding architecture 200 in accordance with some implementations of the present disclosure. As illustrated in FIG. 2, during a conversion between a target image 205 (denoted as xt) and a bitstream 220, a reference feature (denoted as fi, where i is a positive integer) of a reference image (denoted as xt-1) for a target image 205 is determined by a feature extractor 210 from a previously decoded feature 215 (denoted as Ft-1) . A context feature (denoted as ) for the target image 205 is generated by an adaptive aggregation module (such as Ada 225-1, 225-2 or 225-3, which may be individually or collectively referred to as Ada 225 for ease of illustration) based on the reference feature fi of the reference image xt-1 and a representation (denoted as li) of the target image xt 205. Then, the conversion is performed based on the context feature

[0031] In some implementations, the adaptive aggregation may be applied to latent representation coding (that is coding of the latent y) of the target image 205, for example, the Ada 225-1 and Ada 225-3 in FIG. 2. Accordingly, the representation li of the target image 205  may include a latent representation of the target image 205, which may be generated by the conditional encoder 221 in an encoding process, or by the conditional decoder 222 in a decoding process. As shown in FIG. 2, the context feature output by the Ada 225-1 may be feedback to the conditional encoder 221 for subsequent encoding of the target image 205 into the bitstream 220. Similarly, the context feature output by the Ada 225-3 may be feedback to the conditional decoder 222 for subsequent decoding of the target image 205 from the bitstream 220.

[0032] Alternatively, or in addition, in some implementations, the adaptive aggregation may be applied to hyper representation coding (that is coding of the hyper latent z) of the target image 205, for example, the Ada 225-2 in FIG. 2. Accordingly, the representation li of the target image 205 may include a hyper representation of the target image 205.

[0033] In some implementations, the feature extractor 210 may extract reference features fi at different levels, where different i represents different resolutions or sizes. In other words, in these implementations, the adaptive aggregation may be applied across a plurality of feature levels. As an example, without any limitation, the feature levels may include 1 / 2, 1 / 4, 1 / 8, etc. of the original resolution or size of the reference image.

[0034] Reference is now made to FIG. 3 to illustrate some implementations. FIG. 3 illustrates a block diagram of an example NVC framework 300 in accordance with some implementations of the present disclosure. The NVC framework 300 may be considered as an example of the architecture 200 in FIG. 2.

[0035] As illustrated in FIG. 3, for the target image xt 205, efficient conditional coding is performed to compress it. In this process, according to the representation li of the target image xt 205, a reference feature fi are adaptively aggregated to generate the context feature In an example, Ada 302 may generate the context feature according to reference feature f3 306 and representation l3 304. In the case of video coding, the target image xt 205 may be also referred to as a current frame, the latent representation of the target image 205 may be also referred to as a current latent li, and the context feature may be also referred to as a temporal context.

[0036] For conditional coding, the key lies in how to generate the relevant high-quality context for temporal modeling. In some implementations of the present disclosure, a novel adaptive context generation may be employed for efficient temporal modeling. In adaptive context generation, feature extractors 310-1 and 310-2 (which may be individually referred to  as a feature extractor 310 or collectively referred to as feature extractors 310 for ease of illustration) may be employed to extract multi-scale reference features fi, i∈ {1, 2, 3, 4} from the previously decoded feature Ft-1 215. Let li denote the representation of the target image xt 205 at the corresponding scale i, which is generated by a conditional codec, for example, the conditional encoder 221 or the conditional decoder 222. Subsequently, reference features fi may be aggregated based on the representation li using the adaptive aggregation to generate the context feature

[0037] In some implementations, the adaptive aggregation may be implemented in a depth-wise fashion. For example, as shown in FIG. 3, depth-wise convolutional (DC) blocks are used. In this way, the complexity may be significantly reduced.

[0038] In some implementations, the adaptive aggregation may be applied to latent representation coding (that is coding of the latent y) of the target image 205. For example, the latent representation yt 312-1 at the encoding side may be generated based on the context features and at the encoding side. The latent representation 312-2 at the decoding side may be decoded based on the context features and at the decoding side.

[0039] Alternatively, or in addition, in some implementations, the adaptive aggregation may be applied to hyper representation coding (that is coding of the hyper latent z) of the target image 205. For example, the hyper representation zt 314-1 at the encoding side is generated based on the context feature at the encoding side. The hyper representation 314-2 at the decoding side may be decoded based in the context feature at the decoding side.

[0040] The process of generating the context feature for the target image xt 205 may be explained with reference to FIG. 4, which illustrates a block diagram of an example Ada framework 400. The example Ada framework 400 may be considered as an example of the Ada shown in FIG. 2 and FIG. 3.

[0041] In some implementations, feature transform information ki 402 may be determined based on the reference feature fi 404 and the representation li 406. The feature transform information ki 402 may indicate a correlation between an element of the representation li 406 and one or more elements of the reference feature fi 404, where the element represents a spatial position. For example, the representation li 406 and the reference feature fi 404 may be tensors. At each spatial position, the feature transform information ki 402 is estimated according to the content on this position, so that the temporal correlation may be modeled efficiently. After  determining the feature transform information ki 402, the reference feature fi 404 may be transformed into the context feature 412 by applying the feature transform information ki 402 to the reference feature fi 404.

[0042] In some implementations, the context feature may be determined by using an attention mechanism, for example, the Ada module may be based on a Transformer. In an example, the representation li may be used as query (Q) and the reference feature fi may be used as key (K) and value (V) . As a result, the feature transform information may include an attention map based on the Q and K. Further, the context feature may be determined by applying the attention map to the reference feature fi as V.

[0043] In some implementations, the Ada may be implemented based on convolution. In these implementations, the feature transform information ki 402 may include respective kernels for elements of the representation li. FIG. 4 shows such an example.

[0044] As illustrated in FIG. 4, the feature transform information ki 402 may be determined based on the reference feature fi 404 and the representation li 406 by a kernel generation module 408. According to the contents in the representation li 406 and the reference feature fi 404, a spatial-adaptive feature transform information ki 402 with r×r coefficients 410 at each pixel is estimated, which is used to aggregate the reference feature fi 404 for better alignment with the representation li 406.

[0045] For each spatial position (x, y) in the feature transform information ki 402, the feature transform information ki 402 contains r×r displacements (dx, dy) . If the temporal correlation between (x, y) in the representation li 406 and (x+ dx, y+dy) in the reference feature fi 404 is stronger, the weight of the corresponding feature transform information should be larger to aggregate more on this displacement.

[0046] In this way, spatial-adaptive feature transform information is proposed for handling temporal correlation modeling in video compression, thereby improving compression ratio.

[0047] In these implementations, the feature transform information ki 402 may include respective kernels for elements of the representation. A value may be derived based on the kernel for the element of the representation li 406 and respective values of the one or more elements of the reference feature fi 404 as follows:

[0048] where represents the aggregated context feature at (x, y) , (x, y) represents a spatial position in the reference feature fi 404 and the displacements dx, dy ∈ {-r / 2, …, r / 2} .

[0049] After deriving the value, the derived value may be determined as an element of the context feature corresponding to the element of the representation, as shown in Eq. (1) .

[0050] In this way, the adaptive aggregation is performed in a neighbor region for each pixel, which is more flexible for handling complex motions such as shrinking.

[0051] As mentioned above, in some implementations, the adaptive aggregation may be applied across multiple layers at different scales to enable robust and multi-scale temporal modeling. Some implementations are now described. For example, the reference feature includes respective reference feature components at a plurality of levels denoted by i, the representation of the target image includes respective representation components at the plurality of levels, and the context feature includes respective context feature components at the plurality of levels.

[0052] In some implementations, a representation component of a given level of the plurality of levels may be determined based on a context feature component of an adjacent level of the given level and a representation component of the adjacent level. The adjacent level may be a previous level or a next level of the given level. In an encoding process, the representation component of level 3 may be determined based on a context feature component of level 2 and a representation component of level 2. In a decoding process, the representation component of level 3 may be determined based on a context feature component of level 4 and a representation component of level 4.

[0053] In some implementations, the conversion includes encoding the target image into the bitstream.

[0054] In some implementations, the representation may include an intermediate latent representation of the target image which is a latent representation l 316 output by the conditional encoder. A target latent representation yt 312-1 of the target image xt 205 may be determined based on the context feature 308 and the intermediate latent representation l 316. A further context feature 318 for the target image xt 205 may be generated based on a further reference feature f4 320 of the reference image and the target latent representation yt 312-1. A hyper representation zt 314-1 of the target image xt 205 may be determined based on the further context feature 318and the target latent representation yt 312-1. Then,  the target latent representation yt 312-1 and the hyper representation 314-1 may be encoded into bitstreams 322-1 and 322-2, respectively.

[0055] In some implementations, the conversion may include decoding the target image from the bitstream.

[0056] In some implementations, continue to refer to FIG. 3, the representation may include a hyper representation 314-2 of the target image xt 205 decoded from the bitstream 322-2. A target latent representation 312-2 of the target image xt 205 may be decoded from the bitstream 322-1 based on the context feature 318. A further context feature (e.g.,  324 and 308) for the target image xt 205 may be generated based on a further reference feature (e.g., f2 326 and f3 306) of the reference image and the target latent representation 312-2 of the target image xt 205. Then, the target image xt 205 may be decoded from the bitstream 322-1 based on the further context feature.

[0057] The Ada modules used in the encoding process and the decoding process may be the same or separate. In some implementations, separate Ada modules may be implemented in the encoding process and the decoding process to adapt to their respective representations.

[0058] To reduce complexity and enhance compression performance, some implementations of the present disclosure propose several designs to establish an efficient conditional coding structure.

[0059] In some implementations, conditional coding is applied at lower resolution, such as, at 1 / 2, 1 / 4, and 1 / 8 of the original resolution to decrease complexity. Reference is now made back to refer to FIG. 3, the convolution module 328 is used to reduce the target image xt 205 to 1 / 2 of the original resolution, the convolution module 330 is used to reduce the target image xt 205 to 1 / 4 of the original resolution and the convolution module 330 is used to reduce the target image xt 205 to 1 / 8 of the original resolution. Adaptive context generation is conducted 1 / 4 and 1 / 8 resolutions to leverage deeper features with expanded receptive fields, which enhances the temporal modeling capability.

[0060] In some implementations, in the hyper module (such as the hyper encoder 334 and the hyper decoder 336) , the hyperprior may be compressed in a conditional fashion. Adaptive context generation are employed both before the hyper encoder 334 and after the hyper decoder 336. In this way, temporal redundancy in compressing the hyperprior is effectively reduced to enhance the compression ratio.

[0061] In some implementations, in the entropy model 338, a two-step coding approach may be utilized. The two-step coding approach only requires two times for coding, thereby reducing latency for real-time processing.

[0062] Parallel coding

[0063] With the inclusion of the adaptive context generation and efficient conditional coding design, the complexity of the neural network has been significantly reduced. However, in practical scenarios, the latency of NVC is also influenced by the entropy coding time. By way of example, the NVC in some implementations of the present disclosure may cost about 16 milliseconds (ms) for network inference in encoding a 1080p frame while requiring up to about 6 ms for entropy coding. It can be seen that the entropy coding constitutes a significant portion of the overall coding time. To mitigate this and achieve lower latency for real-time coding, a parallel coding solution is provided for the proposed NVC.

[0064] Generally, network inference involves many highly parallelizable operations like convolution, while entropy coding requires symbols to be encoded sequentially. This implies that they can be parallelized to reduce latency without severe hardware resource contention. For instance, a model can run on GPU while concurrently performing entropy coding on CPU. Based on this observation, in some implementation, a parallel coding process may be employed for example as shown in FIGS. 5A-5B.

[0065] In some implementations, encoding the target latent representation and the hyper representation into the bitstream and decoding the target latent representation and the hyper representation into a feature of the target image for subsequent encoding are performed at least partially in parallel. FIG. 5A illustrates a parallel encoding process 500 in accordance with some implementations of the present disclosure. As shown in FIG. 5A, at block 502, the target latent representation (denoted as yq) and the hyper representation (denoted as zq) are encoded into the bitstream, and encoded bits from entropy coding are output. At block 504, the target latent representation yq and the hyper representation zq are decoded into the feature of the target image for subsequent encoding, that is the feature is used for next-frame context generation. It is to be noted that the processing of the block 502 does not rely on any output of the block 504. Therefore, the processing of the block 502 and the block 504 may be performed at least partially in parallel. In this way, the decoder inference process 510 is parallelized with entropy coding process 520 to enhance overall encoding speed.

[0066] In some implementations, decoding the hyper representation from the bitstream and  obtaining the reference feature may be performed at least partially in parallel. FIG. 5B illustrates a parallel decoding process 550 in accordance with some implementations of the present disclosure. As shown in FIG. 5B, at block 552, the hyper representation zq is decoded. At block 554, the down sampling part of the feature extractor generates the reference feature (e.g., the temporal prior f4 320) for distribution estimation. The processing of the block 552 is independent of the block 554, and thus the block 552 and the block 554 may be performed at least partially in parallel.

[0067] In some implementations, decoding the target latent representation from the bitstream and obtaining the further reference feature are performed at least partially in parallel performed at least partially in parallel. As shown in FIG. 5B, a two-step entropy coding scheme for the target latent representation yq is adopted. As shown, parameters of the second part of the target latent representation yq (denoted as ) are estimated based on the first part of the target latent representation yq (denoted as ) . They need to be decoded sequentially to obtain before decoding In this way, encoding process can be accelerated as both parts of yq are available before entropy coding, thereby improving encoding efficiency.

[0068] At block 556, the is decoded in the first-step entropy coding. At block 560, the up sampling part of the feature extractor generates further reference feature. The processing of the block 556 is independent of the block 560, and thus the block 556 and the block 560 may be performed at least partially in parallel. Subsequently, the second-step entropy coding and the decoder may be proceeded to produce the reconstruction.

[0069] The impact of the proposed parallel coding solution on coding speed is analyzed using a 1080p sequence as an example. Different support rates are tested, and both the average time cost and the time cost on the highest rate point are presented.

[0070] For encoding, paralleling entropy coding with the decoder inference (for obtaining the feature for next-frame context generation) saves 1.4 ms (7.8%) in average. In addition, since decoder inference typically takes longer time than entropy coding, the time of entropy coding is fully covered by the decoder. Consequently, the overall encoding time (16.6 ms) remains nearly the same as the network inference time (16.3 ms) .

[0071] For decoding, paralleling coding results in an average time saving of 1.7 ms (10.8%) . In this process, the time required for decoding zq is fully covered by the network inference, as zq contains only a few bits.

[0072] Moreover, it is to be noted that network inference time remains constant across  different rates, whereas entropy coding time is highly rate-dependent. This is because higher rates typically entail more symbols to encode. In this case, parallel coding saves more time at high rates. For instance, it saves 2.2 ms (11.7%) and 2.2 ms (12.9%) for encoding and decoding at the highest rate, compared to 1.4 ms (7.8%) and 1.7 ms (10.8%) on average across all rates, respectively.

[0073] In some implementations, the target image comprises a first frame of a video, and the reference image comprises a second frame of the video previous to the first frame.

[0074] Example methods

[0075] FIG. 6 illustrates a flow chart of a method 600 according to implementations of the present disclosure. The method 600 may be implemented by the electronic device 110 or the electronic device 120.

[0076] As shown in FIG. 6, at block 610, a reference feature of a reference image for a target image is determined during a conversion between the target image and a bitstream. At block 620, a context feature is generated for the target image based on the reference feature of the reference image and a representation of the target image. At block 630, the conversion is performed based on the context feature.

[0077] In some implementations, generating the context feature for the target image comprises: determining feature transform information based on the reference feature and the representation, the feature transform information indicating a correlation between an element of the representation and one or more elements of the reference feature; and transforming the reference feature into the context feature by applying the feature transform information to the reference feature.

[0078] In some implementations, the feature transform information comprises respective kernels for elements of the representation, and transforming the reference feature into the context feature comprises: deriving a value based on the kernel for the element of the representation and respective values of the one or more elements of the reference feature; and determining the derived value as an element of the context feature corresponding to the element of the representation.

[0079] In some implementations, the reference feature comprises respective reference feature components at a plurality of levels, the representation comprises respective representation components at the plurality of levels, and the context feature comprises respective context feature components at the plurality of levels.

[0080] In some implementations, a representation component of a given level of the plurality of levels is determined based on a context feature component of an adjacent level of the given level and a representation component of the adjacent level.

[0081] In some implementations, the conversion comprises encoding the target image into the bitstream.

[0082] In some implementations, the representation comprises an intermediate latent representation of the target image and performing the conversion comprises: determining a target latent representation of the target image based on the context feature and the intermediate latent representation; generating a further context feature for the target image based on a further reference feature of the reference image and the target latent representation; determining a hyper representation of the target image based on the further context feature and the target latent representation; and encoding the target latent representation and the hyper representation into the bitstream, respectively.

[0083] In some implementations, encoding the target latent representation and the hyper representation into the bitstream and decoding the target latent representation and the hyper representation into a feature of the target image for subsequent encoding are performed at least partially in parallel.

[0084] In some implementations, the conversion comprises decoding the target image from the bitstream.

[0085] In some implementations, the representation comprises a hyper representation of the target image decoded from the bitstream, and performing the conversion comprises: decoding a target latent representation of the target image from the bitstream based on the context feature; generating a further context feature f or the target image based on a further reference feature of the reference image and the target latent representation of the target image; and decoding the target image from the bitstream based on the further context feature.

[0086] In some implementations, the hyper representation from the bitstream and obtaining the reference feature are performed at least partially in parallel, and decoding the target latent representation from the bitstream and obtaining the further reference feature are performed at least partially in parallel.

[0087] In some implementations, the target image comprises a first frame of a video, and the reference image comprises a second frame of the video previous to the first frame.

[0088] Example implementations

[0089] FIG. 7 illustrates a block diagram of an electronic device 700 in which various embodiments of the present disclosure can be implemented. It would be appreciated that the electronic device 700 shown in FIG. 7 is merely for purpose of illustration, without suggesting any limitation to the functions and scopes of the present disclosure in any manner. The electronic device 700 may be used to implement the above method 600. As shown in FIG. 7, the electronic device 700 may be a general-purpose electronic device. The electronic device 700 may at least comprise one or more processors or processing units 710, a memory 720, a storage unit 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760.

[0090] The processing unit 710 may be a physical or virtual processor and can implement various processes based on programs 725 stored in the memory 720. In a multi-processor system, multiple processing units execute computer executable instructions in parallel so as to improve the parallel processing capability of the electronic device 700. The processing unit 710 may also be referred to as a central processing unit (CPU) , a graphics processing unit (GPU) , a neural processing unit (NPU) , a microprocessor, a controller, or a microcontroller.

[0091] The electronic device 700 typically includes various computer storage medium. Such medium can be any medium accessible by the electronic device 700, including, but not limited to, volatile and non-volatile medium, or detachable and non-detachable medium. The memory 720 can be a volatile memory (for example, a register, cache, Random Access Memory (RAM) ) , a non-volatile memory (such as a Read-Only Memory (ROM) , Electrically Erasable Programmable Read-Only Memory (EEPROM) , or a flash memory) , or any combination thereof. The storage unit 730 may be any detachable or non-detachable medium and may include a machine-readable medium such as a memory, flash memory drive, magnetic disk, or another other media, which can be used for storing information and / or data and can be accessed in the electronic device 700.

[0092] The electronic device 700 may further include additional detachable / non-detachable, volatile / non-volatile memory medium. Although not shown in FIG. 7, it is possible to provide a magnetic disk drive for reading from and / or writing into a detachable and non-volatile magnetic disk and an optical disk drive for reading from and / or writing into a detachable non-volatile optical disk. In such cases, each drive may be connected to a bus (not shown) via one or more data medium interfaces.

[0093] The communication unit 740 communicates with a further electronic device via the communication medium. In addition, the functions of the components in the electronic device 700 can be implemented by a single computing cluster or multiple computing machines that can communicate via communication connections. Therefore, the electronic device 700 can operate in a networked environment using a logical connection with one or more other servers, networked personal computers (PCs) or further general network nodes.

[0094] The input device 750 may be one or more of a variety of input devices, such as a mouse, keyboard, tracking ball, voice-input device, and the like. The output device 760 may be one or more of a variety of output devices, such as a display, loudspeaker, printer, and the like. By means of the communication unit 740, the electronic device 700 can further communicate with one or more external devices (not shown) such as the storage devices and display device, with one or more devices enabling the user to interact with the electronic device 700, or any devices (such as a network card, a modem, and the like) enabling the electronic device 700 to communicate with one or more other electronic devices, if required. Such communication can be performed via input / output (I / O) interfaces (not shown) .

[0095] In some embodiments, instead of being integrated in a single device, some, or all components of the electronic device 700 may also be arranged in cloud computing architecture. In the cloud computing architecture, the components may be provided remotely and work together to implement the functionalities described in the present disclosure. In some embodiments, cloud computing provides computing, software, data access and storage service, which will not require end users to be aware of the physical locations or configurations of the systems or hardware providing these services. In various embodiments, the cloud computing provides the services via a wide area network (such as Internet) using suitable protocols. For example, a cloud computing provider provides applications over the wide area network, which can be accessed through a web browser or any other computing components. The software or components of the cloud computing architecture and corresponding data may be stored on a server at a remote position. The computing resources in the cloud computing environment may be merged or distributed at locations in a remote data center. Cloud computing infrastructures may provide the services through a shared data center, though they behave as a single access point for the users. Therefore, the cloud computing architectures may be used to provide the components and functionalities described herein from a service provider at a remote location. Alternatively, they may be provided from a conventional server or installed directly or otherwise on a client device.

[0096] The functionalities described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-Programmable Gate Arrays (FPGAs) , Application-specific Integrated Circuits (ASICs) , Application-specific Standard Products (ASSPs) , System-on-a-chip systems (SOCs) , Complex Programmable Logic Devices (CPLDs) , and the like.

[0097] Program code for carrying out the methods of the subject matter described herein may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.

[0098] In the context of this disclosure, a machine-readable medium may be any tangible medium that may include or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0099] Further, while operations are illustrated in a particular order, this should not be understood as requiring that such operations are performed in the particular order shown or in sequential order, or that all illustrated operations are performed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the subject matter described herein, but rather as descriptions of features that may be specific to particular embodiments. Certain  features that are described in the context of separate embodiments may also be implemented in combination in a single implementation. Rather, various features described in a single implementation may also be implemented in multiple embodiments separately or in any suitable sub-combination.

[0100] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

[0101] From the foregoing, it will be appreciated that specific embodiments of the presently disclosed technology have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the disclosure. Accordingly, the presently disclosed technology is not limited except as by the appended claims.

[0102] Embodiments of the subject matter and the functional operations described in the present disclosure can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing unit” or “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

[0103] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or  interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document) , in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code) . A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

[0104] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media, and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0105] It is intended that the specification, together with the drawings, be considered exemplary only, where exemplary means an example. As used herein, the use of “or” is intended to include “and / or” , unless the context clearly indicates otherwise.

[0106] While the present disclosure contains many specifics, these should not be construed as limitations on the scope of any disclosure or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular disclosures. Certain features that are described in the present disclosure in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or  more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

[0107] Similarly, while operations are illustrated in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in the present disclosure should not be understood as requiring such separation in all embodiments. Only a few embodiments and examples are described, and other embodiments, enhancements and variations can be made based on what is described and illustrated in the present disclosure.

[0108] Some example implementations of the present disclosure are listed below.

[0109] In a first aspect, the present disclosure provides a computer-implemented method. The method comprises: determining a reference feature of a reference image for a target image during a conversion between the target image and a bitstream; generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; and performing the conversion based on the context feature.

[0110] In some implementations, generating the context feature for the target image comprises: determining feature transform information based on the reference feature and the representation, the feature transform information indicating a correlation between an element of the representation and one or more elements of the reference feature; and transforming the reference feature into the context feature by applying the feature transform information to the reference feature.

[0111] In some implementations, the feature transform information comprises respective kernels for elements of the representation, and transforming the reference feature into the context feature comprises: deriving a value based on the kernel for the element of the representation and respective values of the one or more elements of the reference feature; and determining the derived value as an element of the context feature corresponding to the element of the representation.

[0112] In some implementations, the reference feature comprises respective reference feature components at a plurality of levels, the representation comprises respective representation components at the plurality of levels, and the context feature comprises respective context  feature components at the plurality of levels.

[0113] In some implementations, a representation component of a given level of the plurality of levels is determined based on a context feature component of an adjacent level of the given level and a representation component of the adjacent level.

[0114] In some implementations, the conversion comprises encoding the target image into the bitstream.

[0115] In some implementations, the representation comprises an intermediate latent representation of the target image and performing the conversion comprises: determining a target latent representation of the target image based on the context feature and the intermediate latent representation; generating a further context feature for the target image based on a further reference feature of the reference image and the target latent representation; determining a hyper representation of the target image based on the further context feature and the target latent representation; and encoding the target latent representation and the hyper representation into the bitstream, respectively.

[0116] In some implementations, encoding the target latent representation and the hyper representation into the bitstream and decoding the target latent representation and the hyper representation into a feature of the target image for subsequent encoding are performed at least partially in parallel.

[0117] In some implementations, the conversion comprises decoding the target image from the bitstream.

[0118] In some implementations, the representation comprises a hyper representation of the target image decoded from the bitstream, and performing the conversion comprises: decoding a target latent representation of the target image from the bitstream based on the context feature; generating a further context feature f or the target image based on a further reference feature of the reference image and the target latent representation of the target image; and decoding the target image from the bitstream based on the further context feature.

[0119] In some implementations, the hyper representation from the bitstream and obtaining the reference feature are performed at least partially in parallel, and decoding the target latent representation from the bitstream and obtaining the further reference feature are performed at least partially in parallel.

[0120] In some implementations, the target image comprises a first frame of a video, and the  reference image comprises a second frame of the video previous to the first frame.

[0121] In a second aspect, the present disclosure provides an electronic device. The device comprises a processing unit; and a memory coupled to the processing unit and having instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising: determining a reference feature of a reference image for a target image during a conversion between the target image and a bitstream; generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image ; and performing the conversion based on the context feature.

[0122] In some implementations, generating the context feature for the target image comprises: determining feature transform information based on the reference feature and the representation, the feature transform information indicating a correlation between an element of the representation and one or more elements of the reference feature; and transforming the reference feature into the context feature by applying the feature transform information to the reference feature.

[0123] In some implementations, the feature transform information comprises respective kernels for elements of the representation, and transforming the reference feature into the context feature comprises: deriving a value based on the kernel for the element of the representation and respective values of the one or more elements of the reference feature; and determining the derived value as an element of the context feature corresponding to the element of the representation.

[0124] In some implementations, the reference feature comprises respective reference feature components at a plurality of levels, the representation comprises respective representation components at the plurality of levels, and the context feature comprises respective context feature components at the plurality of levels.

[0125] In some implementations, a representation component of a given level of the plurality of levels is determined based on a context feature component of an adjacent level of the given level and a representation component of the adjacent level.

[0126] In some implementations, the conversion comprises encoding the target image into the bitstream.

[0127] In some implementations, the representation comprises an intermediate latent representation of the target image and performing the conversion comprises: determining a target latent representation of the target image based on the context feature and the  intermediate latent representation; generating a further context feature for the target image based on a further reference feature of the reference image and the target latent representation; determining a hyper representation of the target image based on the further context feature and the target latent representation; and encoding the target latent representation and the hyper representation into the bitstream, respectively.

[0128] In some implementations, encoding the target latent representation and the hyper representation into the bitstream and decoding the target latent representation and the hyper representation into a feature of the target image for subsequent encoding are performed at least partially in parallel.

[0129] In some implementations, the conversion comprises decoding the target image from the bitstream.

[0130] In some implementations, the representation comprises a hyper representation of the target image decoded from the bitstream, and performing the conversion comprises: decoding a target latent representation of the target image from the bitstream based on the context feature; generating a further context feature f or the target image based on a further reference feature of the reference image and the target latent representation of the target image; and decoding the target image from the bitstream based on the further context feature.

[0131] In some implementations, the hyper representation from the bitstream and obtaining the reference feature are performed at least partially in parallel, and decoding the target latent representation from the bitstream and obtaining the further reference feature are performed at least partially in parallel.

[0132] In some implementations, the target image comprises a first frame of a video, and the reference image comprises a second frame of the video previous to the first frame.

[0133] In a third aspect, the present disclosure provides a computer program product being tangibly stored on a non-transient computer storage medium and comprising machine-executable instructions which, when executed by a device, cause the device to perform the method of the first aspect.

[0134] In a fourth aspect, the present disclosure provides a computer readable medium having machine-executable instructions stored thereon which, when executed by a device, cause a device to perform one or more implementations of the method of the first aspect.

[0135] In a fifth aspect, the present disclosure provides one or more computer-readable media  having stored thereon a bitstream, the bitstream being organized to facilitate conversion between the bitstream and a target image, with a computing, by operations comprising: determining a reference feature of a reference image for the target image during the conversion; generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; and performing the conversion based on the context feature.

[0136] The functionalities described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs) , Application-specific Integrated Circuits (ASICs) , application-specific standard products (ASSPs) , system-on-a-chip systems (SOCs) , complex programmable logic devices (CPLDs) , and the like.

[0137] Program code for carrying out the methods of the present disclosure may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely or partly on a machine, executed as a stand-alone software package partly on the machine, partly on a remote machine, or entirely on the remote machine or server.

[0138] In the context of this disclosure, a machine-readable medium may be any tangible medium that may include or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0139] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations are performed in the particular order shown or in sequential order, or that all illustrated operations are performed to achieve the desired results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in the context of separate implementations may also be implemented in combination in a single implementation. Rather, various features described in a single implementation may also be implemented in multiple implementations separately or in any suitable sub-combination.

[0140] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter specified in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims

1.A computer-implemented method comprising:determining a reference feature of a reference image for a target image during a conversion between the target image and a bitstream;generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; andperforming the conversion based on the context feature.2.The method of claim 1, wherein generating the context feature for the target image comprises:determining feature transform information based on the reference feature and the representation, the feature transform information indicating a correlation between an element of the representation and one or more elements of the reference feature; andtransforming the reference feature into the context feature by applying the feature transform information to the reference feature.3.The method of claim 2, wherein the feature transform information comprises respective kernels for elements of the representation, and transforming the reference feature into the context feature comprises:deriving a value based on the kernel for the element of the representation and respective values of the one or more elements of the reference feature; anddetermining the derived value as an element of the context feature corresponding to the element of the representation.4.The method of claim 1, wherein the reference feature comprises respective reference feature components at a plurality of levels, the representation comprises respective representation components at the plurality of levels, and the context feature comprises respective context feature components at the plurality of levels.5.The method of claim 4, wherein a representation component of a given level of the plurality of levels is determined based on a context feature component of an adjacent level of the given level and a representation component of the adjacent level.6.The method of claim 1, wherein the conversion comprises encoding the target image into the bitstream.7.The method of claim 6, wherein the representation comprises an intermediate latent representation of the target image and performing the conversion comprises:determining a target latent representation of the target image based on the context feature and the intermediate latent representation;generating a further context feature for the target image based on a further reference feature of the reference image and the target latent representation;determining a hyper representation of the target image based on the further context feature and the target latent representation; andencoding the target latent representation and the hyper representation into the bitstream, respectively.8.The method of claim 7, wherein encoding the target latent representation and the hyper representation into the bitstream and decoding the target latent representation and the hyper representation into a feature of the target image for subsequent encoding are performed at least partially in parallel.9.The method of claim 1, wherein the conversion comprises decoding the target image from the bitstream.10.The method of claim 9, wherein the representation comprises a hyper representation of the target image decoded from the bitstream, and performing the conversion comprises:decoding a target latent representation of the target image from the bitstream based on the context feature;generating a further context feature for the target image based on a further reference feature of the reference image and the target latent representation of the target image; anddecoding the target image from the bitstream based on the further context feature.11.The method of claim 9, wherein decoding the hyper representation from the bitstream and obtaining the reference feature are performed at least partially in parallel, anddecoding the target latent representation from the bitstream and obtaining the further reference feature are performed at least partially in parallel.12.The method of claim 1, wherein the target image comprises a first frame of a video, and the reference image comprises a second frame of the video previous to the first frame.13.An electronic device, comprising:a processing unit; anda memory coupled to the processing unit and having instructions stored thereon, the instructions, when executed by the processing unit, causing the device to perform acts comprising:determining a reference feature of a reference image for a target image during a conversion between the target image and a bitstream;generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; andperforming the conversion based on the context feature.14.A computer program product being tangibly stored on a computer storage medium and comprising computer-executable instructions which, when executed by a device, cause the device to perform acts comprising:determining a reference feature of a reference image for a target image during a conversion between the target image and a bitstream;generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; andperforming the conversion based on the context feature.15.One or more computer-readable media having stored thereon a bitstream, the bitstream being organized to facilitate conversion between the bitstream and a target image, with a computing, by operations comprising:determining a reference feature of a reference image for the target image during the conversion;generating a context feature for the target image based on the reference feature of the reference image and a representation of the target image; andperforming the conversion based on the context feature.

Citation Information

Patent Citations

  • Context-based image coding

    WO2023278068A1

  • Neural video coding

    WO2024155401A1