WO2025259596A1 - Video deinterlacing via wavelet-based conditional video diffusion model - Google Patents
Video deinterlacing via wavelet-based conditional video diffusion modelInfo
- Publication number
- WO2025259596A1 WO2025259596A1 PCT/US2025/032866 US2025032866W WO2025259596A1 WO 2025259596 A1 WO2025259596 A1 WO 2025259596A1 US 2025032866 W US2025032866 W US 2025032866W WO 2025259596 A1 WO2025259596 A1 WO 2025259596A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- diffusion
- interlaced
- bands
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration using non-spatial domain filtering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20064—Wavelet transform [DWT]
Definitions
- This application claims the priority of U.S. Provisional Patent Application No. 63/658,156, filed on 10 June 2024, U.S. Provisional Patent Application No. 63/683,943, filed on 16 August 2024, and European Patent Application 24209042.1, filed on 25 October 2024, each of which is incorporated by reference herein in its entirety.
- Field of the Disclosure [0002] Various example embodiments relate to video enhancement and, more specifically but not exclusively, to removal of interlacing artifacts. 3.
- conditional video diffusion model is configured to operate in the discrete wavelet transform (DWT) domain, rather than in the pixel domain, to learn high frequency details with temporal stability.
- DWT discrete wavelet transform
- a method of training a video deinterlacing model comprises: applying a DWT to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; converting a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subjecting the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model (i.e., a multistep reverse diffusion of the conditional video diffusion model), predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and updating a set of parameters of the conditional video diffusion model (i.e.,
- a video deinterlacing method comprises: converting a set of interlaced video frames of an interlaced video into a set of feature maps; subjecting a set of DWT sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
- iDWT inverse discrete wavelet transform
- an apparatus for training a video deinterlacing model comprises: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: apply a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; convert a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subject the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model (i.e., DWT) to a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; convert a set of interlaced video frames into
- a video deinterlacing apparatus comprises: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: convert a set of interlaced video frames of an interlaced video into a set of feature maps; subject a set of discrete-wavelet-transform (DWT) sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and apply an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
- DWT discrete-wavelet-transform
- FIG. 1 pictorially illustrates an interlacing algorithm according to one example.
- FIG. 2 is a block diagram illustrating a reverse diffusion process according to one example.
- FIG. 3 pictorially illustrates variance/noise schedules used in the diffusion process of FIG. 2 according to some examples.
- FIG. 4 is a block diagram illustrating a 3D U-Net used to implement a video diffusion process according to some examples.
- FIG. 5 is a block diagram illustrating a downsample block used in the 3D U-Net of FIG. 4 according to one example.
- FIG. 6 is a block diagram illustrating an upsample block used in the 3D U-Net of FIG. 4 according to one example.
- FIG. 7 is a block diagram illustrating operations of spatial attention used in the 3D U-Net of FIG. 4 according to some examples.
- FIG. 8 is a block diagram illustrating operations of temporal attention used in the 3D U- Net of FIG. 4 according to some examples.
- FIG. 9 is a block diagram illustrating a set of operations corresponding to a discrete wavelet transform (DWT) and a corresponding inverse discrete wavelet transform (iDWT) according to one example.
- FIG. 10 graphically illustrates a transfer function used in a Hybrid Shifted Sigmoid Linear (HSSL) algorithm according to one example.
- FIG. 11 is a block diagram illustrating an interlacing process for the training algorithm according to one example.
- FIG. 12 is a block diagram illustrating preprocessing of interlaced images for the testing algorithm according to one example.
- FIG. 13 is a block diagram illustrating a training workflow of the deinterlacing method according to one example. [0025] FIG.
- FIG. 14 is a block diagram illustrating a testing workflow of the deinterlacing method according to one example.
- FIG. 15 is a flowchart illustrating a method of training a video deinterlacing model according to some examples.
- FIG. 16 is a flowchart illustrating a video deinterlacing method according to some examples.
- FIG. 17 is a block diagram of an example computing device one or more instances of which can be used to implement the methods of FIGS. 15-16 according to various examples.
- DETAILED DESCRIPTION [0029] Progressive video encoding is a method used in digital media compression and transmission, where a video is encoded and transmitted in a way that allows for the gradual rendering of the image.
- progressive encoding Unlike interlaced encoding, where an image is transmitted as alternating fields of odd and even lines, progressive encoding presents the entire frame in a single pass. This approach ensures that viewers can see a coherent and recognizable image even before the complete video is loaded, offering a smoother and more natural viewing experience.
- Progressive video encoding is widely utilized in streaming services, online video platforms, and digital broadcasts, as it enables content to be displayed seamlessly on a variety of devices and at a variety of network speeds. This method not only enhances visual quality but also minimizes artifacts and motion issues often associated with interlaced formats. As a fundamental technique in modern video distribution, progressive video encoding plays an important role in delivering content efficiently and effectively to different audiences across the digital landscape.
- interlaced encoding served its purpose in the past, it presents several challenges and/or limitations in today’s digital landscape.
- progressive displays such as LCDs and OLEDs
- a process referred to as “deinterlacing” can be applied.
- Deinterlacing includes reconstructing full frames from the odd and even fields for smoother playback on progressive displays.
- Various algorithms and techniques can be used to interpolate missing lines and reduce or minimize artifacts caused by interlaced encoding.
- deinterlacing can introduce further artifacts and reduce image quality, especially in fast-moving scenes.
- the video diffusion model operates in the discrete wavelet transform (DWT) domain, rather than in the pixel domain, to learn high frequency details with temporal stability.
- the described methodology can be used to deinterlace both original (legacy) interlaced content and synthetic interlaced content.
- Interlacing can effectively be viewed as a subsampling scheme that strikes a balance between resolution and frame rate, by alternately sampling rows from two consecutive frames.
- FIG. 1 pictorially illustrates an interlacing process 100 according to one example.
- the process 100 specifically involves capturing the first, third, fifth, and other odd-numbered pixel rows at a first time, t 1 , to form an odd field 102 (top field), followed by capturing the second, fourth, sixth, and other even-numbered pixel rows at a slightly later time, t 2 , to form an even field 104 (bottom field).
- the fields 102 and 104 including odd and even pixel rows captured at different times, are merged, they constitute one complete interlaced frame 106 as indicated in FIG. 1.
- ⁇ ( ⁇ , ⁇ ) to represent the pixel at row ⁇ and column ⁇ in the interlaced frame 106.
- ⁇ ( ⁇ , ⁇ ) and ⁇ ( ⁇ , ⁇ ) represent the pixel at row ⁇ and column ⁇ in the corresponding progressive frames ⁇ ⁇ at time stamp ⁇ ⁇ and ⁇ ⁇ at the later time step ⁇ ⁇ , respectively.
- interlacing was effective for broadcasting under earlier technological constraints, it introduced significant artifacts, such as the comb-teeth artifacts pictorially indicated in the interlaced frame 106 shown in FIG. 1.
- Various interlacing artifacts become especially pronounced in scenarios with a relatively high rate of motion, such as in sports broadcasts.
- these artifacts may manifest themselves as blurring and ghosting, which disadvantageously degrades the viewer experience by reducing the clarity and continuity of fast- moving objects.
- modern TVs use progressive scanning and are not even typically able to properly display interlaced content without an explicit deinterlacing step being applied thereto.
- Deinterlacing involves converting the interlaced video back to its original progressive format, which typically eliminates common playback issues, such as temporal inconsistencies and the above-mentioned comb-teeth artifacts.
- a conditional video-diffusion-model- based deinterlacing method capable of producing deinterlaced content that is substantially free of the aforementioned artifacts, such as combing, ghosting, blurring, and color bleeding, and of significantly improving the viewing experience on progressive displays.
- Conventional deinterlacing methods can be categorized into three primary groups: (1) intra-field deinterlacing; (2) inter-field deinterlacing; and (3) motion-based adaptation and compensation. Notable features of these three categories can be briefly summarized as follows: • Intra-field deinterlacing techniques independently reconstruct two complete frames from the odd and even fields. In typical examples, such techniques simply calculate the average of the scan lines that are located immediately above and below the missing scan line, which may lower the visual quality.
- Inter-field deinterlacing combines information from both the odd and even fields to reconstruct complete frames, thereby enhancing temporal resolution while reducing motion artifacts. This feature is in contrast to intra-field techniques which interpolate within the same field.
- Notable methods in this category include the following: (A) “Weave” method, which directly combines odd and even lines and is best suited for scenes with minimal motion; (B) “Blending,” which averages scan lines from adjacent fields to soften the impact of motion artifacts, may result in a loss of detail; and (C) “Edge-Directed Line Averaging (ELA),” which uses edge detection to guide interpolation, offers sharper results by preventing interpolation across moving edges, although it can still struggle with fast-moving objects. • Motion-adaptive methods, such as FFmpeg’s “Yadif” (Yet Another DeInterlacing Filter), attempt to mitigate artifacts by blending data from adjacent fields based on the motion detection.
- Deep Learning provides a more robust solution to the challenges of deinterlacing due to its ability to learn from large datasets. This capability enables the corresponding models to recognize and replicate complex video patterns, which is important for effectively handling detailed and dynamic scenes.
- Generative modeling a subset of deep learning techniques, is particularly suited for video processing tasks, such as deinterlacing. These models are adept at generating new content that faithfully reproduces the statistical properties of the training data. In the context of deinterlacing, this characteristic translates into accurately filling in the missing information in interlaced frames to create high-quality progressive output. Generative models not only interpolate missing scan lines but also enhance the overall image quality by reducing artifacts typically introduced by traditional deinterlacing methods.
- video diffusion models an advanced type of generative models, begin with an initial, noisy estimate of a video frame and iteratively refine this estimate towards a cleaner and more-accurate representation.
- the process implies a deep understanding of how video content evolves from one frame to the next, thereby making it highly effective for reconstructing detailed and coherent sequences from interlaced footage.
- Some examples disclosed herein use conditional video diffusion models that apply conditions on fields, from both preceding and subsequent frames, to be able to predict and reconstruct the missing scan lines with greater precision. This type of conditioning not only tends to improve the accuracy of the deinterlaced output but also ensures that the frames align closely with the natural motion and detail of the original video, especially in sports broadcasts where maintaining fluidity and clarity is needed.
- Some examples disclosed herein are characterized by one or more of the following features: • A scheme for training the conditional video diffusion models using one or more of the following: o A Hybrid Shifted Sigmoid Linear (HSSL) algorithm configured to convert the input videos into the corresponding enhanced videos that contain enhanced high frequency (HF) details. o Enhanced images are utilized as the ground truth for training the conditional video diffusion model. As a result, the architecture is able to learn how to perform a better HF recovery while deinterlacing. • A spatial-frequency-aware architectural design for temporal data using at least the following: o Performing video diffusion in the DWT space to enhance the deep learning model’s focus on HF details. • Temporal Attention enhanced by Rotary Positional Embeddings.
- VDM video diffusion model
- GAN and VAE generative models
- the VDM perturbs a clean sequence of images in small diffusion steps to slowly convert the data to an isometric Gaussian distribution.
- the model is trained to learn the reverse diffusion process to map the noise, in the presence of a conditional signal, to novel samples (belonging to the distribution of video training data).
- a conditional video diffusion model is a VDM with a guiding conditional signal ⁇ during the sampling process, as explained below.
- the video diffusion model forward path.
- the forward diffusion process adds Gaussian noise to the sample video in small diffusion steps, thereby producing a sequence of noisy videos at each step as ⁇ , ⁇ , ... , ⁇ , where the step sizes are controlled by a variance schedule ⁇ .
- Each increment of noise denoted as !, is sampled from a standard Gaussian distribution "(0, $), where $ represents the identity matrix ensuring that the noise in each dimension is independent and has a standard deviation of one.
- the distribution ⁇ ⁇ approaches the noise at each time instant such that ⁇ ⁇ approximates an isotropic Gaussian distribution.
- ⁇ % ) video being in state ⁇ given its a how the diffusion process evolves the video ⁇ % through the controlled noise addition.
- the identity matrix denoted as $ in "( ⁇ ; &'( ⁇ %, ( 1 ⁇ '( )$), is used in scaling the noise vector. This scaling, applied uniformly to all dimensions by (1 ⁇ '( ), maintains their independence and adjusts the standard deviation according to the time step ⁇ , reflecting an increase in randomness as the process advances. [0044] FIG.
- FIG. 2 is a block diagram illustrating a reverse diffusion process 200 according to one example.
- the video sequence starts from ⁇ ⁇ "(1, $) as Gaussian noise and progresses towards ⁇ % , the original state of the video through 2 diffusion time steps.
- This process needs the distribution ⁇ ( ⁇ 3 ⁇
- ⁇ ⁇ uses the knowledge of the entire dataset, i.e., how each random noise state relates to others, which is not practical for large datasets due to an infinite number of such states.
- neural network 6 5 is implemented with a 3D-Unet to estimate noise ! added at each forward diffusion step.
- the reverse diffusion process can further be controlled with the above-mentioned conditional signal ⁇ to guide the sampling process.
- P ⁇ ⁇ QR the reverse video diffusion process
- training the noise predictor network ⁇ 5 during the reverse video diffusion process is implemented in accordance with the following algorithm: Algorithm – 1: Training Noise Predictor Network V W of Video Diffusion [0047]
- Algorithm 1 is configured, at step (2), to choose a sequence of video frames of temporal size ⁇ from the training distribution ⁇ ( ⁇ ).
- Algorithm 1 is further configured, at step (3), to sample ⁇ from the uniform distribution. It means that ⁇ is uniformly chosen from (0, 2).
- Algorithm 1 is further configured, at step (4), to sample a Gaussian noise from the normal distribution " ( 0,1 ) .
- Algorithm 2 can be used for conditional sampling through the reverse video diffusion process.
- Algorithm – 2 Sampling from Conditional Video Diffusion Process 1: Load trained neural network ! W 2: Initialize ⁇ e(1, $) [0049]
- Algorithm 2 defines the sampling of the reverse process and is configured, at step (1), to load (1) the previously trained neural network 6 5 .
- Algorithm 2 is further configured, at step (2), to draw a sample of video frames ⁇ ⁇ from Gaussian noise. Algorithm 2 is further configured, at steps (3)-(9), to refine the video in 2 steps with the intent to obtain a novel video sequence ⁇ % that aligns to the original training distribution. At each instance of step (5), a relatively refined ⁇ 3 ⁇ is calculated by utilizing the predicted mean 75 ⁇ , ⁇ . This is obtained through ⁇ (also see Eq.
- FIG. 3 pictorially illustrates variance/noise schedules used in the diffusion process 200 according to some examples.
- the noise schedule is an important component of VDM as it defines the Markov chain and quantifies the noise added at each step of the diffusion process.
- Two example noise schedules 302, 304 are illustrated in FIG. 3.
- the schedule 302 is a linear schedule.
- the schedule 304 is a cosine schedule. As can be seen in FIG. 3, compared to the linear schedule 302, the cosine schedule 304 adds noise at a slower pace, resulting in slower degradations of the corresponding image. In contrast, with the linear schedule 302, the samples in the last quarter of the diffusion process are substantially pure noise.
- FIG. 4 is a block diagram illustrating a 3D U-Net 400 used to implement a video diffusion process according to some examples.
- the 3D U-Net 400 is configured to analyze and learn from three-dimensional datasets, such as video.
- the 3D U-Net 400 is designed to leverage the temporal dimension of video data through 3D convolutions, allowing it to understand not just the spatial but also the temporal relationships within the video.
- 3D U-Net 400 includes: (i) a downsampling branch 402 having four downsample blocks 410 and (ii) an upsampling branch 406 having four upsample blocks 430.
- the branches 402, 406 are joined with a middle (mid) block 404 and are further interconnected by skip connections as indicated in FIG. 4.
- the architecture of the 3D U-Net 400 may benefit from some features described in (i) ⁇ içek, ⁇ zgün, et al., “3D U-Net: learning dense volumetric segmentation from sparse annotation,” Medical Image Computing and Computer-Assisted Intervention -- MICCAI 2016: 19th International Conference, Athens, Greece, October 17-21, 2016, Proceedings, Part II 19, Springer International Publishing; and (ii) Su, Jianlin, et al., “Roformer: Enhanced transformer with rotary position embedding,” Neurocomputing 568 (2024): 127063, both of which are incorporated herein by reference in their entirety. [0054] FIG.
- FIG. 5 is a block diagram illustrating the downsample block 410 used in the 3D U-Net 400 according to one example.
- Each downsample block 410 is configured to apply a spatio- temporal attention 550 to a feature map 548 before reducing its dimensionality via a 3D convolution 560.
- the middle block 404 follows the same architecture as the downsample block 410 but without the downsample 3D convolution 560.
- FIG. 6 is a block diagram illustrating the upsample block 430 used in the 3D U-Net 400 according to one example.
- a feature map 648 undergoes a spatio-temporal attention 650 prior to dimension expansion through a 3D transposed convolution 660.
- the spatio-temporal attention occurs on the feature maps at the middle block 404.
- the attention mechanisms 550, 650 are described in more detail below. [0056]
- attention mechanisms in neural networks particularly the scaled dot-product attention, enhance a deep learning model’s ability to weigh the importance of different parts of the input data based on the learning task at hand. To explain further, we first define few pertinent variables.
- the variables ⁇ , A, ⁇ , h, ⁇ refer to the batch, channels (i.e., color channels), number of frames in the temporal window, height of the frame, and width of the frame, respectively.
- the attention mechanism computes attention scores using the following formula: the dot product of the Queries (Q) with the keys (K), divided by the square root of the dimensionality of the keys to scale the scores, followed by a softmax to obtain probabilities.
- the resulting scores determine how much 'attention' or weighting should be given to each of the values (V). This approach enables the neural network to focus on the most relevant parts of the data, which is particularly important for tasks such as language translation, image recognition, and time-series analysis.
- FIG. 7 is a block diagram illustrating operations of a spatial attention 700 used in the 3D U-Net 400 according to some examples.
- the spatial attention 700 is for a tensor of the shape [b, f, c, h, w].
- the spatial attention task is approached by first generating a spatial focused tensor. This tensor is obtained by applying reshaping operations 710 to the original tensor FA, ⁇ , h, ⁇ H to reshape it into the form F ⁇ , h ⁇ ⁇ , AH. This form can be interpreted as a series of spatial sequences.
- FIG. 8 is a block diagram illustrating operations of a temporal attention 800 used in the 3D U-Net 400 according to some examples.
- the temporal attention 800 applies a different transformation to the original 3D video tensor [b, f, c, h, w] than that of the spatial attention 700.
- the [b, f, c, h, w] is reshaped, in a reshaping block 810, to the tensor Fh ⁇ ⁇ , ⁇ , AH, configuring the data into temporal sequences.
- Each sequence, of the embedding size A corresponds to one pixel location across all frames f in the temporal window.
- the temporal attention 800 is configured to consider the spatial locations Fh ⁇ ⁇ H to cover all pixels. Similar to the spatial attention 700, these operations of the temporal attention 800 allow the model to focus on how each particular point in space is attending to other pixels from the same location across the temporal window.
- a linear layer 820 is used to generate Queries (Q), Keys (K), and Values (V) from the transformed tensor via linear transformations.
- the temporal attention 800 apply operations 830 of Rotary Positional Encoding as a unique signature to encoding positional information within Q, K.
- the operations 830 are described in more detail below.
- the output of the block 830 is then directed to an attention block 840 configured to apply the above-described scaled dot-product attention.
- the concept of positional encoding evolved in sequence modeling that encourages models to have the ability to recognize the order of inputs, which is inherently absent in the architecture of some other models.
- Rotary Positional Encoding significantly enhances a deep learning model’s ability to recognize order in a sequence by embedding positional information into the token embeddings by multiplicatively encoding positional information without altering the context of the embeddings via a rotation mechanism in the embedding space.
- implementations of the block 830 may benefit from at least some features described in the above- cited Su paper.
- the block 830 is configured to use Rotary Positional Encoding as a unique signature to each pixel embedding in the temporal attention 800.
- the block 830 treats each sequence as corresponding to the temporal sequence of a pixel within the temporal window.
- the linear layer 820 operates to extract the Queries (Q), Keys (K), and Values (V) matrices using linear transformations.
- the block 830 operates to apply RoPE to these matrices.
- FIG. 9 is a block diagram illustrating a set 900 of operations corresponding to a discrete wavelet transform (DWT) 910 and an inverse discrete wavelet transform (iDWT) 920 according to one example.
- DWT discrete wavelet transform
- iDWT inverse discrete wavelet transform
- the DWT 910 operates to decompose this input into four sub-bands 912 0 -912 3 .
- other numbers of DWT decomposition sub-bands can similarly be used.
- the ⁇ d kernel effectively performs average pooling over 2 ⁇ 2 pixel 2 windows, capturing low- frequency components.
- the other kernels extract different respective sets of higher frequencies.
- these kernels By applying these kernels to the inputs 902, we represent an input sequence of images i 1 as sub-bands F ⁇ , ⁇ , ⁇ , ⁇ H.
- each sub-band has a downsampled resolution with a factor of two to the original input image 902.
- this decomposition is exactly invertible with the iDWT 920, preserving all of the information in the pixel space.
- applying the iDWT 920 to the sub-bands 9120-9123 will recover the corresponding original input image 902, as indicated in FIG. 9.
- implementations of the set 900 may benefit from the use of the Haar wavelet features disclosed in the publication by Melanie Elyse Brewster, “An Introduction to Wavelets (Charles K. Chui),” SIAM Rev. 35 (1993), pp. 312-313, which is incorporated herein by reference in its entirety.
- Deinterlacing Method [0064]
- a deinterlacing method disclosed herein includes a training algorithm and a testing algorithm. These two algorithms are described in more detail below starting with the training algorithm.
- the training algorithm uses a forward diffusion process and a reverse diffusion process as described below.
- the training and testing algorithms are complementary to one another.
- a conditional video diffusion model operates at the temporal context window having the size of six.
- the temporal window size is a hyperparameter of the method. In other examples, other temporal window sizes can also be used.
- the Hybrid Shifted Sigmoid Linear (HSSL) algorithm is used before the forward diffusion process.
- the HSSL algorithm converts an image from the Original Image, OI, to the corresponding Enhanced Image, EI.
- the HSSL algorithm converts the Original Video, OV, to the corresponding Enhanced Video, EV.
- other suitable image enhancement algorithms can also be used.
- FIG. 10 graphically illustrates a transfer function 1002 used in the HSSL algorithm according to one example.
- the sigmoid shape of the transfer function 1002 enables the HSSL algorithm to highlight the high frequency components in the image. More specifically, the nonlinear part of the transfer function 1002 can be configured to provide different slope/gap values to increase/decrease the mapped codeword distance for a desired contrast. As a result, compared to the OI image, the EI image generated with the HSSL algorithm can provide a better level of details.
- the DWT sub-bands undergo perturbation with Gaussian noise via the cosine beta schedule 304 for 1000 steps to convert the DWT sub-bands to isometric Gaussian noise.
- FIG. 11 is a block diagram illustrating an interlacing process 1100 for the training algorithm according to one example.
- the reverse diffusion process creation of conditional data is needed.
- the interlacing process 1100 is used.
- the process 1100 is configured to handle a set 1110 of progressive frames ⁇ Y ⁇ ⁇ 0 ⁇ taken from a video sequence with 2 frames.
- the conditional information is generated with pre-HSSL enhancement of the images.
- the process 1100 generally follows the flow described above in reference to FIG. 1. More specifically, the process 1100 first picks the odd pixel rows from ⁇ ⁇ of the set 1110 to interleave with the even pixel rows from ⁇ ⁇ of the set 1110 to generate an interlaced conditional frame ⁇ ⁇ for an interlaced set 1120.
- the frame ⁇ ⁇ has the same height and width as the original progressive frames ⁇ ⁇ and ⁇ ⁇ .
- the process 1100 similarly handles the progressive frames ⁇ , ⁇ £ of the set 1110 to generate the interlaced frame ⁇ £ for the set 1120.
- the process 1100 similarly handles the progressive frames ⁇ , ⁇ of the set 1110 to generate the interlaced frame ⁇ ⁇ for the set 1120.
- the process 1100 is configured to repeat the frames ⁇ , ⁇ £, ⁇ of the set 1120 to generate a corresponding expanded interlaced set 1130, which includes the following frame sequence: ⁇ , ⁇ , ⁇ £, ⁇ £, ⁇ , ⁇ .
- FIG. 12 is a block diagram illustrating preprocessing 1200 of interlaced images for the testing algorithm according to one example.
- the preprocessing 1200 is performed using the corresponding neural network after its training, involving the interlacing process 1100, is completed.
- the preprocessing 1200 is typically used to deinterlace the existing interlaced content, such as legacy footage, for which a compatible input to the deinterlacing method needs to be generated.
- FIG. 13 is a block diagram illustrating a training workflow 1300 of the deinterlacing method according to one example.
- the training workflow 1300 is implemented using Algorithm 3.
- Algorithm – 3 Training Noise Predictor Network V W via Proposed method 1 : _ ⁇ 1 ⁇ ⁇ HSSL enhanced video dataset EV 2: p ⁇ ⁇ ⁇ original video dataset OV 3: Initialize: model weights for !
- Steps (1), (2), (3) of Algorithm 3 are used to prepare and/or provide various inputs to the workflow 1300.
- Step (5) of Algorithm 3 is used to sample a sequence of ⁇ images from the HSSL- enhanced video dataset EV.
- Step (6) of Algorithm 3 is used to sample a sequence of ⁇ original images from the original video dataset OV.
- Step (7) of Algorithm 3 is used to generate interlaced images from the original video dataset OV, e.g., as explained in reference to FIG. 11.
- the diffusion time step ⁇ and the noise ! are sampled at steps (8) and (9), respectively.
- FIG. 14 is a block diagram illustrating a testing workflow 1400 of the deinterlacing method according to one example.
- the testing workflow 1400 is implemented using Algorithm 4.
- Algorithm – 4 Sampling from proposed Conditional Video Diffusion Process For workflow 1400 as indicated in FIG. 14. [0075] After the training process of the workflow 1300 converges, the trained neural network 6 5 is loaded, in step (1), for being used in the testing workflow 1400. The starting noisy sub-bands are initialized in step (2) from the Gaussian distribution. At step (3), the interlaced content is prepared. In various examples, the interlaced content can be synthetic interlaced content (e.g., see FIG. 11) or original (legacy) interlaced content (e.g., see FIG. 12). For evaluating a trained model objectively, we prepare synthetic interlaced content as described above in reference to FIG.
- FIG. 15 is a flowchart illustrating a method 1500 of training a video deinterlacing model according to some examples. The method 1500 is described below with continued reference to at least some of the preceding FIGS. 1-14.
- a block 1502 of the method 1500 includes applying a DWT (e.g., 910, FIG. 9) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands (e.g., 912 0 -912 3 , FIG. 9).
- the first set of progressive video frames and the set of interlaced video frames are obtained from the training video sequence using a selectable same size of a temporal context window.
- the “same” size is selected to be six frames (also see FIG. 13).
- the first set of progressive video frames is generated by performing image enhancement on a corresponding set of original video frames of the training video sequence.
- the image enhancement operations include applying a hybrid shifted sigmoid linear (HSSL) transform to the corresponding set of original video frames of the training video sequence (e.g., as described in reference to FIG. 10).
- the set of interlaced video frames is generated by pairwise interlacing a corresponding set of original video frames of the training video sequence and repeating each of the resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames (e.g., as described in reference to FIG. 12).
- a block 1504 of the method 1500 includes converting the set of interlaced video frames into a set of feature maps, wherein the set of interlaced video frames corresponds to the first set of progressive video frames.
- operations of the block 1504 include passing the set of interlaced video frames through a convolutional encoder (e.g., 1360, FIG. 13) configured to cause the set of feature maps to have a downsampled resolution.
- the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the corresponding set of DWT sub-bands.
- a block 1506 of the method 1500 includes subjecting the set of DWT sub-bands generated in the block 1502 to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands (e.g., as described in reference to FIG. 13).
- the conditional video diffusion model is implemented using a plurality of 3D U-Nets (e.g., 1370, FIG. 13; also see FIG. 4).
- a 3D U-Net of the plurality includes: (i) a downsampling branch (e.g., 402, FIG. 4) including a series of downsample blocks (e.g., 410, FIG. 4) and (ii) an upsampling branch (e.g., 406, FIG. 4) including a series of upsample blocks (e.g., 430, FIG. 4).
- the 3D U-Net also includes a plurality of skip connections, with each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks (also see FIG. 4).
- each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
- the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
- the multistep forward diffusion is implemented based on a cosine schedule (e.g., 304, FIG. 3).
- a block 1508 of the method 1500 includes, with the conditional video diffusion model (i.e., a multistep reverse diffusion of the conditional video diffusion model), predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps (e.g., as described in reference to FIG. 13).
- a block 1510 of the method 1500 includes updating a set of parameters of the conditional video diffusion model (i.e., the multistep reverse diffusion) based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub- bands (e.g., in accordance with a gradient descent method and steps (12)-(13) of Algorithm 3).
- FIG. 16 is a flowchart illustrating a video deinterlacing method 1600 according to some examples. The method 1600 is described below with continued reference to at least some of the preceding FIGS. 1-15.
- a block 1602 of the method 1600 includes converting a set of interlaced video frames of an interlaced video into a set of feature maps. In some examples, the set of interlaced video frames and the corresponding set of progressive video frames have a selectable same number of frames. In some examples, the “same” number is selected to be six frames.
- operations of the block 1602 include (i) pairwise interlacing a corresponding set of odd and even fields of the interlaced video and (ii) repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames (also see FIG. 11).
- operations of the block 1602 include passing the set of interlaced video frames through a convolutional encoder (e.g., 1360, FIG. 14) configured to cause the set of feature maps to have a downsampled resolution.
- the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the set of DWT sub-bands.
- a block 1604 of the method 1600 includes subjecting a set of DWT sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands (e.g., as described in reference to FIG. 14).
- the conditional video diffusion model is configured to receive the set of feature maps as a condition for the multistep reverse diffusion.
- the conditional video diffusion model has been trained to incorporate image enhancement processing.
- the image enhancement processing includes a hybrid shifted sigmoid linear (HSSL) transform described above in reference to FIG. 10.
- the conditional video diffusion model is implemented using a plurality of 3D U-Nets.
- a 3D U-Net of the plurality includes: (i) a downsampling branch (e.g., 402, FIG. 4) including a series of downsample blocks (e.g., 410, FIG. 4) and (ii) an upsampling branch (e.g., 406, FIG. 4) including a series of upsample blocks (e.g., 430, FIG. 4).
- the 3D U-Net also includes a plurality of skip connections, with each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks (also see FIG. 4).
- each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
- the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
- the multistep forward diffusion is implemented based on a cosine schedule (e.g., 304, FIG. 3).
- a block 1606 of the method 1600 includes applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video (e.g., as described in reference to FIG. 14).
- iDWT inverse discrete wavelet transform
- FIG. 17 is a block diagram of an example computing device 1700 one or more instances of which can be used to implement various above-described methods and workflows according to various examples.
- the computing device 1700 of FIG. 17 is illustrated as having a number of components, but any one or more of these components may be omitted or duplicated, as suitable for the application and setting.
- some or all of the components included in the computing device 1700 may be attached to one or more motherboards and enclosed in a housing.
- some of those components may be fabricated onto a single system-on-a-chip (SoC) (e.g., the SoC may include one or more electronic processing devices 1702 and one or more storage devices 1704).
- SoC system-on-a-chip
- the computing device 1700 may not include one or more of the components illustrated in FIG. 17, but may include interface circuitry for coupling to the one or more components using any suitable interface (e.g., a Universal Serial Bus (USB) interface, a High-Definition Multimedia Interface (HDMI) interface, a Controller Area Network (CAN) interface, a Serial Peripheral Interface (SPI) interface, an Ethernet interface, a wireless interface, or any other appropriate interface).
- a Universal Serial Bus (USB) interface e.g., a Universal Serial Bus (USB) interface, a High-Definition Multimedia Interface (HDMI) interface, a Controller Area Network (CAN) interface, a Serial Peripheral Interface (SPI) interface, an Ethernet interface, a wireless interface, or any other appropriate interface
- USB Universal Serial Bus
- HDMI High-Definition Multimedia Interface
- CAN Controller Area Network
- SPI Serial Peripheral Interface
- Ethernet interface e.g., a wireless interface
- the computing device 1700 includes a processing device 1702 (e.g., one or more processing devices).
- a processing device 1702 e.g., one or more processing devices.
- the terms “electronic processor device” and “processing device” interchangeably refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory.
- the processing device 1702 may include one or more digital signal processors (DSPs), application-specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), server processors, or any other suitable processing devices.
- DSPs digital signal processors
- ASICs application-specific integrated circuits
- CPUs central processing units
- GPUs graphics processing units
- server processors or any other suitable processing devices.
- the computing device 1700 also includes a storage device 1704 (e.g., one or more storage devices).
- the storage device 1704 may include one or more memory devices, such as random-access memory (RAM) devices (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard drive-based memory devices, solid-state memory devices, networked drives, cloud drives, or any combination of memory devices.
- RAM random-access memory
- SRAM static RAM
- MRAM magnetic RAM
- DRAM dynamic RAM
- RRAM resistive RAM
- CBRAM conductive-bridging RAM
- the storage device 1704 may include memory that shares a die with the processing device 1702.
- the memory may be used as cache memory and include embedded dynamic random-access memory (eDRAM) or spin transfer torque magnetic random-access memory (STT-MRAM), for example.
- eDRAM embedded dynamic random-access memory
- STT-MRAM spin transfer torque magnetic random-access memory
- the storage device 1704 may include non-transitory computer readable media having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 1702), cause the computing device 1700 to perform any appropriate ones of the methods disclosed herein below or portions of such methods.
- the computing device 1700 further includes an interface device 1706 (e.g., one or more interface devices 1706).
- the interface device 1706 may include one or more communication chips, connectors, and/or other hardware and software to govern communications between the computing device 1700 and other computing devices.
- the interface device 1706 may include circuitry for managing wireless communications for the transfer of data to and from the computing device 1700.
- wireless and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data via modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not.
- Circuitry included in the interface device 1706 for managing wireless communications may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.11 family), IEEE 802.16 standards, Long-Term Evolution (LTE) project along with any amendments, updates, and/or revisions (e.g., advanced LTE project, ultramobile broadband (UMB) project (also referred to as “3GPP2”), etc.).
- IEEE Institute for Electrical and Electronic Engineers
- LTE Long-Term Evolution
- UMB ultramobile broadband
- circuitry included in the interface device 1706 for managing wireless communications may operate in accordance with a Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA), or LTE network.
- GSM Global System for Mobile Communication
- GPRS General Packet Radio Service
- UMTS Universal Mobile Telecommunications System
- E-HSPA Evolved HSPA
- LTE LTE network.
- circuitry included in the interface device 1706 for managing wireless communications may operate in accordance with Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN).
- EDGE Enhanced Data for GSM Evolution
- GERAN GSM EDGE Radio Access Network
- UTRAN Universal Terrestrial Radio Access Network
- E-UTRAN Evolved UTRAN
- circuitry included in the interface device 1706 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond.
- the interface device 1706 may include one or more antennas (e.g., one or more antenna arrays) configured to receive and/or transmit wireless signals.
- the interface device 1706 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocols.
- the interface device 1706 may include circuitry to support communications in accordance with Ethernet technologies.
- the interface device 1706 may support both wireless and wired communication, and/or may support multiple wired communication protocols and/or multiple wireless communication protocols.
- a first set of circuitry of the interface device 1706 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth
- a second set of circuitry of the interface device 1706 may be dedicated to longer- range wireless communications such as global positioning system (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others.
- GPS global positioning system
- EDGE EDGE
- GPRS long-range wireless communications
- CDMA Code Division Multiple Access
- WiMAX Code Division Multiple Access
- LTE Long Term Evolution
- EV-DO Evolution-DO
- the computing device 1700 also includes battery/power circuitry 1708.
- the battery/power circuitry 1708 may include one or more energy storage devices (e.g., batteries or capacitors) and/or circuitry for coupling components of the computing device 1700 to an energy source separate from the computing device 1700 (e.g., to AC line power).
- the computing device 1700 also includes a display device 1710 (e.g., one or multiple individual display devices).
- the display device 1710 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat panel display.
- LCD liquid crystal display
- the computing device 1700 also includes additional input/output (I/O) devices 1712.
- the I/O devices 1712 may include one or more data/signal transfer interfaces, audio I/O devices (e.g., microphones or microphone arrays, speakers, headsets, earbuds, alarms, etc.), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, etc.), image capture devices (e.g., one or more cameras), human interface devices (e.g., keyboards, cursor control devices, such as a mouse, a stylus, a trackball, or a touchpad), etc.
- audio I/O devices e.g., microphones or microphone arrays, speakers, headsets, earbuds, alarms, etc.
- audio codecs e.g., video codecs, printers
- sensors e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, etc.
- various components of the interface devices 1706 and/or I/O devices 1712 can be configured to output suitable control signals, receive suitable control/telemetry signals, and receive and transmit data streams.
- the interface devices 1706 and/or I/O devices 1712 include one or more analog-to-digital converters (ADCs) for transforming received analog signals into a digital form suitable for operations performed by the processing device 1702 and/or the storage device 1704.
- ADCs analog-to-digital converters
- the interface devices 1706 and/or I/O devices 1712 include one or more digital-to-analog converters (DACs) for transforming digital signals provided by the processing device 1702 and/or the storage device 1704 into an analog form suitable for being transmitted through a communication channel.
- DACs digital-to-analog converters
- a method of training a video deinterlacing model comprising: applying a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; converting a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subjecting the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model, predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and updating a set of parameters of the conditional video diffusion model based on a difference between the predicted respective
- DWT discrete wavelet transform
- the first set of progressive video frames and the set of interlaced video frames are obtained from the training video sequence using a selectable same size of a temporal context window. [0099] In some embodiments of any of the above methods, the same size is selected to be six frames. [00100] In some embodiments of any of the above methods, the method further comprises generating the first set of progressive video frames by performing image enhancement on a corresponding set of original video frames of the training video sequence. [00101] In some embodiments of any of the above methods, the performing includes applying a hybrid shifted sigmoid linear (HSSL) transform to the corresponding set of original video frames of the training video sequence.
- HSSL hybrid shifted sigmoid linear
- the method further comprises generating the set of interlaced video frames by pairwise interlacing the corresponding set of original video frames and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
- the method further comprises generating the set of interlaced video frames by pairwise interlacing a corresponding set of original video frames of the training video sequence and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
- the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution.
- the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the corresponding set of DWT sub-bands.
- the conditional video diffusion model is implemented using a plurality of 3D U-Nets.
- a 3D U-Net of the plurality comprises: a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks.
- each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
- the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
- the multistep forward diffusion is implemented based on a cosine schedule.
- a non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, cause the electronic processor to perform operations comprising any one of the above methods.
- an apparatus for training a video deinterlacing model comprising: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: apply a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; convert a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subject the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model, predict a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and update a set of parameters of the conditional video diffusion model based on a difference between the predicted respective added noise
- DWT discrete
- a video deinterlacing method comprising: converting a set of interlaced video frames of an interlaced video into a set of feature maps; subjecting a set of discrete-wavelet-transform (DWT) sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
- DWT discrete-wavelet-transform
- the set of interlaced video frames and the corresponding set of progressive video frames have a selectable same number of frames.
- the same number is selected to be six frames.
- the conditional video diffusion model has been trained to incorporate image enhancement processing.
- the image enhancement processing includes a hybrid shifted sigmoid linear (HSSL) transform.
- the method further comprises: pairwise interlacing a corresponding set of odd and even fields of the interlaced video; and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
- the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution.
- the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the set of DWT sub-bands.
- the conditional video diffusion model is implemented using a plurality of 3D U-Nets.
- a 3D U-Net of the plurality comprises: a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks.
- each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
- the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
- the multistep reverse diffusion is implemented based on a cosine schedule.
- a non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, cause the electronic processor to perform operations comprising any one of the above methods.
- a video deinterlacing apparatus comprising: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: convert a set of interlaced video frames of an interlaced video into a set of feature maps; subject a set of discrete-wavelet-transform (DWT) sub- bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and apply an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
- DWT discrete-wavelet-transform
- Some embodiments can also be embodied in the form of program code recorded in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other non-transitory machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the patented invention(s).
- Some embodiments can also be embodied in the form of program code, for example, stored in a non- transitory machine-readable storage medium including being loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer or a processor, the machine becomes an apparatus for practicing the patented invention(s).
- the phrase “if it is determined” or “if [a stated condition] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event].”
- the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements.
- the term compatible means that the element communicates with other elements in a manner wholly or partially specified by the standard and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard.
- the compatible element does not need to operate internally in a manner specified by the standard.
- the functions of the various elements shown in the figures, including any functional blocks labeled as “processors” and/or “controllers,” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared.
- processor or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and nonvolatile storage. Other hardware, conventional and/or custom, may also be included.
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- ROM read only memory
- RAM random access memory
- nonvolatile storage nonvolatile storage.
- Other hardware conventional and/or custom, may also be included.
- any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
- circuit may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry); (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and/or digital hardware circuit(s) with software/firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.”
- This definition of circuitry applies to all uses of this term in this application, including in any claims.
- circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and/or firmware.
- circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
Abstract
Methodology for deinterlacing video sequences with a conditional video diffusion model. In some examples, the conditional video diffusion model is configured to operate in the discrete wavelet transform domain, rather than in the pixel domain, to learn high frequency details with temporal stability. In various examples, the described methodology can be used to deinterlace both original (legacy) interlaced content and synthetic interlaced content.
Description
VIDEO DEINTERLACING VIA WAVELET-BASED CONDITIONAL VIDEO DIFFUSION MODEL 1. Cross-Reference to Related Applications [0001] This application claims the priority of U.S. Provisional Patent Application No. 63/658,156, filed on 10 June 2024, U.S. Provisional Patent Application No. 63/683,943, filed on 16 August 2024, and European Patent Application 24209042.1, filed on 25 October 2024, each of which is incorporated by reference herein in its entirety. 2. Field of the Disclosure [0002] Various example embodiments relate to video enhancement and, more specifically but not exclusively, to removal of interlacing artifacts. 3. Background [0003] In interlaced video encoding, a full video frame is divided into two fields: the odd field and the even field. These fields include alternating lines of image data. The odd field has the odd- numbered lines (1, 3, 5, etc.) whereas the even field has the even-numbered lines (2, 4, 6, etc.). This division was historically designed to mitigate flickering issues that plagued the early cathode-ray tube (CRT) displays. Once the frame is divided into fields, the encoding process involves sequential transmission of these fields. Rather than transmitting the entire frame at once, interlaced encoding transmits the odd field first, followed by the even field. This transmission pattern ensures that each field is displayed in rapid succession, thereby creating the illusion of a complete frame to the viewer’s eye. [0004] Despite its diminishing relevance, interlaced video encoding has left an imprint on modern content delivery as well. For example, some older video content originally produced using the interlaced technology continues to be distributed in this format to this day. As a result, modern streaming platforms and broadcasting systems may employ deinterlacing algorithms at least to ensure compatibility with progressive displays. BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS
[0005] Disclosed herein are various embodiments of a method for deinterlacing video sequences with a conditional video diffusion model. In some examples, the conditional video diffusion model is configured to operate in the discrete wavelet transform (DWT) domain, rather than in the pixel domain, to learn high frequency details with temporal stability. In various examples, the described methodology can be used to deinterlace both original (legacy) interlaced content and synthetic interlaced content. [0006] According to an example embodiment, a method of training a video deinterlacing model comprises: applying a DWT to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; converting a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subjecting the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model (i.e., a multistep reverse diffusion of the conditional video diffusion model), predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and updating a set of parameters of the conditional video diffusion model (i.e., parameters of the multistep reverse diffusion) based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub-bands. [0007] According to another example embodiment, a video deinterlacing method comprises: converting a set of interlaced video frames of an interlaced video into a set of feature maps; subjecting a set of DWT sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video. [0008] Yet another example embodiment provides a non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, cause the electronic processor to perform operations comprising any one of the above methods.
[0009] According to yet another example embodiment, an apparatus for training a video deinterlacing model comprises: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: apply a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; convert a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subject the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model (i.e., a multistep reverse diffusion of the conditional video diffusion model), predict a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and update a set of parameters of the conditional video diffusion model (i.e., parameters of the multistep reverse diffusion) based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub-bands. [0010] According to yet another example embodiment, a video deinterlacing apparatus comprises: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: convert a set of interlaced video frames of an interlaced video into a set of feature maps; subject a set of discrete-wavelet-transform (DWT) sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and apply an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video. BRIEF DESCRIPTION OF THE DRAWINGS [0011] Other aspects, features, and benefits of various disclosed embodiments will become more fully apparent, by way of example, from the following detailed description and the accompanying drawings, in which: [0012] FIG. 1 pictorially illustrates an interlacing algorithm according to one example.
[0013] FIG. 2 is a block diagram illustrating a reverse diffusion process according to one example. [0014] FIG. 3 pictorially illustrates variance/noise schedules used in the diffusion process of FIG. 2 according to some examples. [0015] FIG. 4 is a block diagram illustrating a 3D U-Net used to implement a video diffusion process according to some examples. [0016] FIG. 5 is a block diagram illustrating a downsample block used in the 3D U-Net of FIG. 4 according to one example. [0017] FIG. 6 is a block diagram illustrating an upsample block used in the 3D U-Net of FIG. 4 according to one example. [0018] FIG. 7 is a block diagram illustrating operations of spatial attention used in the 3D U-Net of FIG. 4 according to some examples. [0019] FIG. 8 is a block diagram illustrating operations of temporal attention used in the 3D U- Net of FIG. 4 according to some examples. [0020] FIG. 9 is a block diagram illustrating a set of operations corresponding to a discrete wavelet transform (DWT) and a corresponding inverse discrete wavelet transform (iDWT) according to one example. [0021] FIG. 10 graphically illustrates a transfer function used in a Hybrid Shifted Sigmoid Linear (HSSL) algorithm according to one example. [0022] FIG. 11 is a block diagram illustrating an interlacing process for the training algorithm according to one example. [0023] FIG. 12 is a block diagram illustrating preprocessing of interlaced images for the testing algorithm according to one example. [0024] FIG. 13 is a block diagram illustrating a training workflow of the deinterlacing method according to one example.
[0025] FIG. 14 is a block diagram illustrating a testing workflow of the deinterlacing method according to one example. [0026] FIG. 15 is a flowchart illustrating a method of training a video deinterlacing model according to some examples. [0027] FIG. 16 is a flowchart illustrating a video deinterlacing method according to some examples. [0028] FIG. 17 is a block diagram of an example computing device one or more instances of which can be used to implement the methods of FIGS. 15-16 according to various examples. DETAILED DESCRIPTION [0029] Progressive video encoding is a method used in digital media compression and transmission, where a video is encoded and transmitted in a way that allows for the gradual rendering of the image. Unlike interlaced encoding, where an image is transmitted as alternating fields of odd and even lines, progressive encoding presents the entire frame in a single pass. This approach ensures that viewers can see a coherent and recognizable image even before the complete video is loaded, offering a smoother and more natural viewing experience. Progressive video encoding is widely utilized in streaming services, online video platforms, and digital broadcasts, as it enables content to be displayed seamlessly on a variety of devices and at a variety of network speeds. This method not only enhances visual quality but also minimizes artifacts and motion issues often associated with interlaced formats. As a fundamental technique in modern video distribution, progressive video encoding plays an important role in delivering content efficiently and effectively to different audiences across the digital landscape. [0030] While interlaced encoding served its purpose in the past, it presents several challenges and/or limitations in today’s digital landscape. For example, progressive displays, such as LCDs and OLEDs, have become the norm, rendering the interlaced transmission pattern less relevant. To render interlaced content on modern displays, a process referred to as “deinterlacing” can be applied. Deinterlacing includes reconstructing full frames from the odd and even fields for smoother playback on progressive displays. Various algorithms and techniques can be used to interpolate missing lines and reduce or minimize artifacts caused by interlaced encoding. However,
deinterlacing can introduce further artifacts and reduce image quality, especially in fast-moving scenes. [0031] At least some of the above-indicated problems in the state of the art can beneficially be addressed using various embodiments disclosed herein, including but not limited to an efficient and robust methodology for deinterlacing video sequences based on the conditional video-diffusion model. In some examples, the video diffusion model operates in the discrete wavelet transform (DWT) domain, rather than in the pixel domain, to learn high frequency details with temporal stability. In various examples, the described methodology can be used to deinterlace both original (legacy) interlaced content and synthetic interlaced content. [0032] Interlacing can effectively be viewed as a subsampling scheme that strikes a balance between resolution and frame rate, by alternately sampling rows from two consecutive frames. Back in the day, it was introduced to address the fact that TVs were not yet powerful enough to display progressive videos at a sufficient refresh rate due to bandwidth limitations. This concept worked well for many decades when videos were played back on old CRT monitors, which could natively display interlaced content and make it perceptually appear as a coherent image sequence, aided by the afterglow of the display’s phosphor. [0033] FIG. 1 pictorially illustrates an interlacing process 100 according to one example. The process 100 specifically involves capturing the first, third, fifth, and other odd-numbered pixel rows at a first time, t1, to form an odd field 102 (top field), followed by capturing the second, fourth, sixth, and other even-numbered pixel rows at a slightly later time, t2, to form an even field 104 (bottom field). When the fields 102 and 104, including odd and even pixel rows captured at different times, are merged, they constitute one complete interlaced frame 106 as indicated in FIG. 1. [0034] Let us define ^^(^, ^) to represent the pixel at row ^ and column ^ in the interlaced frame 106. Similarly, ^^^(^, ^) and ^^^(^, ^) represent the pixel at row ^ and column ^ in the corresponding progressive frames ^^^ at time stamp ^^ and ^^^ at the later time step ^^, respectively. The mathematical function representing the interlacing operation can then be written as follows: ^^(^, ^) = ^ ^^^(^, ^), ^^ ^ ^^ ^^^ ^^ (1) ^(^, ^), ^^ ^ ^^ ^^^^
As illustrated in FIG. 1, the alternation expressed with Eq. (1) effectively doubles the perceived frame rate without a corresponding increase in the broadcast bandwidth, thereby helping the broadcasting process in limited spectrum usage. Below, we explain and detail example applications of deinterlacing in modern times. [0035] Although interlacing was effective for broadcasting under earlier technological constraints, it introduced significant artifacts, such as the comb-teeth artifacts pictorially indicated in the interlaced frame 106 shown in FIG. 1. Various interlacing artifacts become especially pronounced in scenarios with a relatively high rate of motion, such as in sports broadcasts. In various examples, these artifacts may manifest themselves as blurring and ghosting, which disadvantageously degrades the viewer experience by reducing the clarity and continuity of fast- moving objects. However, as already indicated above, modern TVs use progressive scanning and are not even typically able to properly display interlaced content without an explicit deinterlacing step being applied thereto. In some examples, there is also a relatively strong demand, e.g., via the latest streaming services, for the old catalog content which inherently comes with interlaced encoding. As a result, a high-quality deinterlacing algorithm may be very desirable for a variety of use cases. [0036] Deinterlacing involves converting the interlaced video back to its original progressive format, which typically eliminates common playback issues, such as temporal inconsistencies and the above-mentioned comb-teeth artifacts. Disclosed herein is a conditional video-diffusion-model- based deinterlacing method capable of producing deinterlaced content that is substantially free of the aforementioned artifacts, such as combing, ghosting, blurring, and color bleeding, and of significantly improving the viewing experience on progressive displays. [0037] Conventional deinterlacing methods can be categorized into three primary groups: (1) intra-field deinterlacing; (2) inter-field deinterlacing; and (3) motion-based adaptation and compensation. Notable features of these three categories can be briefly summarized as follows: • Intra-field deinterlacing techniques independently reconstruct two complete frames from the odd and even fields. In typical examples, such techniques simply calculate the average of the scan lines that are located immediately above and below the missing scan line, which may lower the visual quality. Such deinterlacing techniques frequently fall short in handling high-motion content effectively. Vertical interpolation, often implemented as the “Bob” method in tools like FFmpeg, merely duplicates the existing scan lines, leading to
significant reductions in the vertical resolution without adding new information. This approach may result in a loss of detail, especially in dynamic scenes such, as sports broadcasts. • Inter-field deinterlacing combines information from both the odd and even fields to reconstruct complete frames, thereby enhancing temporal resolution while reducing motion artifacts. This feature is in contrast to intra-field techniques which interpolate within the same field. Notable methods in this category include the following: (A) “Weave” method, which directly combines odd and even lines and is best suited for scenes with minimal motion; (B) “Blending,” which averages scan lines from adjacent fields to soften the impact of motion artifacts, may result in a loss of detail; and (C) “Edge-Directed Line Averaging (ELA),” which uses edge detection to guide interpolation, offers sharper results by preventing interpolation across moving edges, although it can still struggle with fast-moving objects. • Motion-adaptive methods, such as FFmpeg’s “Yadif” (Yet Another DeInterlacing Filter), attempt to mitigate artifacts by blending data from adjacent fields based on the motion detection. These methods may fail to accurately handle fast-moving objects, producing blurring and/or ghosting effects. Even more advanced motion-compensated techniques, such as “Bwdif” (Bob Weaver DeInterlacing Filter), which use more complex algorithms to estimate and compensate for motion, may struggle with rapid movements, leading to visual discrepancies, such as ghosting. The above examples highlight the challenges that conventional deinterlacing techniques face in maintaining the clarity and continuity in sports footage, where every detail and motion nuance is important. [0038] In some examples, Deep Learning provides a more robust solution to the challenges of deinterlacing due to its ability to learn from large datasets. This capability enables the corresponding models to recognize and replicate complex video patterns, which is important for effectively handling detailed and dynamic scenes. In contrast, traditional deinterlacing methods, relying on fixed algorithms, often struggle to adapt to these complexities, often leading to suboptimal outcomes in fast-moving sports footage. [0039] Generative modeling, a subset of deep learning techniques, is particularly suited for video processing tasks, such as deinterlacing. These models are adept at generating new content that
faithfully reproduces the statistical properties of the training data. In the context of deinterlacing, this characteristic translates into accurately filling in the missing information in interlaced frames to create high-quality progressive output. Generative models not only interpolate missing scan lines but also enhance the overall image quality by reducing artifacts typically introduced by traditional deinterlacing methods. For example, video diffusion models, an advanced type of generative models, begin with an initial, noisy estimate of a video frame and iteratively refine this estimate towards a cleaner and more-accurate representation. The process implies a deep understanding of how video content evolves from one frame to the next, thereby making it highly effective for reconstructing detailed and coherent sequences from interlaced footage. [0040] Some examples disclosed herein use conditional video diffusion models that apply conditions on fields, from both preceding and subsequent frames, to be able to predict and reconstruct the missing scan lines with greater precision. This type of conditioning not only tends to improve the accuracy of the deinterlaced output but also ensures that the frames align closely with the natural motion and detail of the original video, especially in sports broadcasts where maintaining fluidity and clarity is needed. [0041] Some examples disclosed herein are characterized by one or more of the following features: • A scheme for training the conditional video diffusion models using one or more of the following: o A Hybrid Shifted Sigmoid Linear (HSSL) algorithm configured to convert the input videos into the corresponding enhanced videos that contain enhanced high frequency (HF) details. o Enhanced images are utilized as the ground truth for training the conditional video diffusion model. As a result, the architecture is able to learn how to perform a better HF recovery while deinterlacing. • A spatial-frequency-aware architectural design for temporal data using at least the following: o Performing video diffusion in the DWT space to enhance the deep learning model’s focus on HF details. • Temporal Attention enhanced by Rotary Positional Embeddings. Building Blocks of Deinterlacing Framework
[0042] An example video diffusion model (VDM) belongs to the category of generative models (such as GAN and VAE) that can be used to generate new videos belonging to a video distribution. In operation, the VDM perturbs a clean sequence of images in small diffusion steps to slowly convert the data to an isometric Gaussian distribution. Thereafter, the model is trained to learn the reverse diffusion process to map the noise, in the presence of a conditional signal, to novel samples (belonging to the distribution of video training data). Hence, both forward and reverse diffusion processes are important to the VDM, as described in more detail below. A conditional video diffusion model is a VDM with a guiding conditional signal ^ during the sampling process, as explained below. [0043] First, we describe the video diffusion model’s forward path. In general, given a sample video from the distribution ^^ ∼ ^(^), the forward diffusion process adds Gaussian noise to the sample video in small diffusion steps, thereby producing a sequence of noisy videos at each step as ^^, ^^, … , ^^, where the step sizes are controlled by a variance schedule ^ . Each increment of noise, denoted as !, is sampled from a standard Gaussian distribution "(0, $), where $ represents the identity matrix ensuring that the noise in each dimension is independent and has a standard deviation of one. The distribution ^^ approaches the noise at each time instant such that ^^ approximates an isotropic Gaussian distribution. The ^ is obtained from ^% through the following operations: ^ = &'( ^% + &1 − '( !, (2) Herein, ^(^ |^%) video being in
state ^ given its a how the diffusion process evolves the video ^% through the controlled noise addition. The identity matrix, denoted as $ in "( ^ ; &'( ^%, ( 1 − '( )$), is used in scaling the noise vector. This scaling, applied uniformly to all dimensions by (1 − '( ), maintains their independence and adjusts the standard deviation according to the time step ^, reflecting an increase in randomness as the process advances. [0044] FIG. 2 is a block diagram illustrating a reverse diffusion process 200 according to one example. In the process 200, the video sequence starts from ^^ ∼ "(1, $) as Gaussian noise and progresses towards ^%, the original state of the video through 2 diffusion time steps. This process needs the distribution ^(^ 3^|^ ) which is reverse to the forward distribution ^(^ |^ 3^). However,
estimating ^(^ 3^|^ ^ uses the knowledge of the entire dataset, i.e., how each random noise state relates to others, which is not practical for large datasets due to an infinite number of such states. Hence, is approximated with 45 ^^ 3^ |^ ^, i.e., the reverse diffusion process, by using a
neural network 65. In some examples, neural network 65 is implemented with a 3D-Unet to estimate noise ! added at each forward diffusion step. The reverse diffusion process can further be controlled with the above-mentioned conditional signal ^ to guide the sampling process. Hence, 45^^ 3^|^ ^ can be expressed as follows: ^ = "^ ^ ; 7 ^^ , ^, ^^, 8 ^^ (5) Upon
^^ ^^ ^ ^39:
[0045] process, a new From the above equations, a network is trained to predict 65^^ , ^, ^^ as other variables are known. For more clarity, the variables indicated with the subscript @ are the variables predicted by the network. Furthermore, 65^^ , ^, A^ implies the predicted noise with ^^ , ^, ^^ as the input to the network ^5. It suggests that the predicted noise depends on ^ , ^, ^. Accordingly, the loss function is defined as: D = E ∼F^,GH,^I,J:F||! − 65^^ , ^, ^^||^H (9) ^ ' ^ ' In other words, i.e., ! . In the above equations,
⋅ ⋅ S, T = 1 and T = representing the P^ norm and the P^ norm, respectively. In some examples, we choose to use the P^ ^^QR.
[0046] The reverse video diffusion process (i.e., multistep reverse diffusion) is the learning part of the diffusion process. It includes first learning the noise predictor network V5 which has forward propagation and backward propagation through gradient descent. This is the neural network weights
update step. In some examples, training the noise predictor network ^5 during the reverse video diffusion process is implemented in accordance with the following algorithm: Algorithm – 1: Training Noise Predictor Network VW of Video Diffusion
[0047] Algorithm 1 is configured, at step (2), to choose a sequence of video frames of temporal size ^ from the training distribution ^(^). Algorithm 1 is further configured, at step (3), to sample ^ from the uniform distribution. It means that ^ is uniformly chosen from (0, 2). Algorithm 1 is further configured, at step (4), to sample a Gaussian noise from the normal distribution "(0,1). In accordance with sampled ^ and !, the noise is added to the sampled video sequence ^% to obtain ^ = &'( ^% + &1 − '( ! which is then sent to the network as an input along with ^ to obtain the At step (5), loss is calculated against the true noise !.
[0048] Once the neural network !W is trained, Algorithm 2 can be used for conditional sampling through the reverse video diffusion process. Algorithm – 2: Sampling from Conditional Video Diffusion Process 1: Load trained neural network !W 2: Initialize ∼ e(1, $)
[0049] Algorithm 2 defines the sampling of the reverse process and is configured, at step (1), to load (1) the previously trained neural network 65. Algorithm 2 is further configured, at step (2), to draw a sample of video frames ^^ from Gaussian noise. Algorithm 2 is further configured, at steps (3)-(9), to refine the video in 2 steps with the intent to obtain a novel video sequence ^% that aligns to the original training distribution. At each instance of step (5), a relatively refined ^ 3^ is calculated by utilizing the predicted mean 75^^ , ^^. This is obtained through ^ (also see Eq. (6), 75^^ , ^^ = ^ ^^ − ^39: 65^^ , ^, ^^^) from the learned architecture until a true sample, ^% is
[0050] It is important to note that an important aspect of the video diffusion model is the introduction of a sequence of ^ frames as the context while performing the forward and reverse diffusion processes. In the image diffusion process, all of the diffusion happens on the per image basis which does not consider the temporal aspect. Thus, in some examples, image diffusion uses a 2D U-Net, which will only learn to reconstruct the image with no temporal context to it. In contrast, in video diffusion, the temporal dynamics need to be learned as well. Thus, in some examples, to implement video diffusion, we use a 3D U-Net that learns the temporal dynamics. [0051] FIG. 3 pictorially illustrates variance/noise schedules used in the diffusion process 200 according to some examples. The noise schedule is an important component of VDM as it defines the Markov chain and quantifies the noise added at each step of the diffusion process. Two example noise schedules 302, 304 are illustrated in FIG. 3. The schedule 302 is a linear schedule. The schedule 304 is a cosine schedule. As can be seen in FIG. 3, compared to the linear schedule 302, the cosine schedule 304 adds noise at a slower pace, resulting in slower degradations of the corresponding image. In contrast, with the linear schedule 302, the samples in the last quarter of the diffusion process are substantially pure noise.
[0052] In some examples described herein, the cosine schedule 304 or a functional equivalent thereof is used. Mathematically, the cosine schedule 304 can be described as follows: where an offset s is
= 0. In some examples, ^ = 0.008. [0053] FIG. 4 is a block diagram illustrating a 3D U-Net 400 used to implement a video diffusion process according to some examples. The 3D U-Net 400 is configured to analyze and learn from three-dimensional datasets, such as video. The 3D U-Net 400 is designed to leverage the temporal dimension of video data through 3D convolutions, allowing it to understand not just the spatial but also the temporal relationships within the video. The architecture's depth captures complex patterns over time, making the 3D U-Net 400 suitable for tasks such as task recognition, video segmentation, etc. In the nonlimiting example shown, 3D U-Net 400 includes: (i) a downsampling branch 402 having four downsample blocks 410 and (ii) an upsampling branch 406 having four upsample blocks 430. The branches 402, 406 are joined with a middle (mid) block 404 and are further interconnected by skip connections as indicated in FIG. 4. In some examples, the architecture of the 3D U-Net 400 may benefit from some features described in (i) Çiçek, Özgün, et al., “3D U-Net: learning dense volumetric segmentation from sparse annotation,” Medical Image Computing and Computer-Assisted Intervention -- MICCAI 2016: 19th International Conference, Athens, Greece, October 17-21, 2016, Proceedings, Part II 19, Springer International Publishing; and (ii) Su, Jianlin, et al., “Roformer: Enhanced transformer with rotary position embedding,” Neurocomputing 568 (2024): 127063, both of which are incorporated herein by reference in their entirety. [0054] FIG. 5 is a block diagram illustrating the downsample block 410 used in the 3D U-Net 400 according to one example. Each downsample block 410 is configured to apply a spatio- temporal attention 550 to a feature map 548 before reducing its dimensionality via a 3D convolution 560. In some examples, the middle block 404 follows the same architecture as the downsample block 410 but without the downsample 3D convolution 560.
[0055] FIG. 6 is a block diagram illustrating the upsample block 430 used in the 3D U-Net 400 according to one example. Similar to the downsample block 410, in the upsample block 430, a feature map 648 undergoes a spatio-temporal attention 650 prior to dimension expansion through a 3D transposed convolution 660. Similarly, the spatio-temporal attention occurs on the feature maps at the middle block 404. The attention mechanisms 550, 650 are described in more detail below. [0056] In general, attention mechanisms in neural networks, particularly the scaled dot-product attention, enhance a deep learning model’s ability to weigh the importance of different parts of the input data based on the learning task at hand. To explain further, we first define few pertinent variables. Herein, the variables {, A, ^, ℎ, } refer to the batch, channels (i.e., color channels), number of frames in the temporal window, height of the frame, and width of the frame, respectively. At its core, the attention mechanism computes attention scores using the following formula: the dot product of the Queries (Q) with the keys (K), divided by the square root of the dimensionality of the keys to scale the scores, followed by a softmax to obtain probabilities. The resulting scores determine how much 'attention' or weighting should be given to each of the values (V). This approach enables the neural network to focus on the most relevant parts of the data, which is particularly important for tasks such as language translation, image recognition, and time-series analysis. In practice, Queries (Q), Keys (K), and Values (V) are three learnable weights obtained via linear layers. In mathematical terms, the attention mechanism can be represented as follows: ~^^^^^^^^ ^, ^ ^^^ ^ ^, ^ = ^^^^Rlm t&^^y ^ (14) where:
• ^ represents the query matrix; • ^ represents the key matrix; • ^ represents the value matrix; • ^^ denotes the transpose of the key matrix; • ^^ denotes the dimension of the query, keys; and • ^^^^Rlm is the softmax function applied over the rows. [0057] FIG. 7 is a block diagram illustrating operations of a spatial attention 700 used in the 3D U-Net 400 according to some examples. In the example shown, the spatial attention 700 is for a tensor of the shape [b, f, c, h, w]. In the context of the spatial attention 700 within a 3D video tensor with the dimensions FA, ^, ℎ, }H (omitting the batch dimension for ease of explanation), the spatial
attention task is approached by first generating a spatial focused tensor. This tensor is obtained by applying reshaping operations 710 to the original tensor FA, ^, ℎ, }H to reshape it into the form F^, ℎ ∗ }, AH. This form can be interpreted as a series of spatial sequences. Each sequence, of the embedding size A, corresponds to a single frame within each temporal sequence, allowing the model to learn how each pixel is attending to other pixels within that frame alone. Queries (Q), keys (K), and values (V) are then derived, using linear transformations of a linear layer 720, from the reshaped tensor to facilitate a scaled dot-product attention mechanism 730. [0058] FIG. 8 is a block diagram illustrating operations of a temporal attention 800 used in the 3D U-Net 400 according to some examples. The temporal attention 800 applies a different transformation to the original 3D video tensor [b, f, c, h, w] than that of the spatial attention 700. In the context of the temporal attention 800, the [b, f, c, h, w] is reshaped, in a reshaping block 810, to the tensor Fℎ ∗ }, ^, AH, configuring the data into temporal sequences. Each sequence, of the embedding size A, corresponds to one pixel location across all frames f in the temporal window. The temporal attention 800 is configured to consider the spatial locations Fℎ ∗ }H to cover all pixels. Similar to the spatial attention 700, these operations of the temporal attention 800 allow the model to focus on how each particular point in space is attending to other pixels from the same location across the temporal window. Subsequently, a linear layer 820 is used to generate Queries (Q), Keys (K), and Values (V) from the transformed tensor via linear transformations. The temporal attention 800 apply operations 830 of Rotary Positional Encoding as a unique signature to encoding positional information within Q, K. The operations 830 are described in more detail below. The output of the block 830 is then directed to an attention block 840 configured to apply the above-described scaled dot-product attention. [0059] The concept of positional encoding evolved in sequence modeling that encourages models to have the ability to recognize the order of inputs, which is inherently absent in the architecture of some other models. By providing a unique signature for each position in a sequence, positional encoding ensures that even when inputs are processed in parallel, the model can still capture the sequential context needed for tasks such as video frame prediction, language understanding, and the like. Rotary Positional Encoding (RoPE) significantly enhances a deep learning model’s ability to recognize order in a sequence by embedding positional information into the token embeddings by multiplicatively encoding positional information without altering the context of the embeddings via a rotation mechanism in the embedding space. In some examples,
implementations of the block 830 may benefit from at least some features described in the above- cited Su paper. [0060] The block 830 is configured to use Rotary Positional Encoding as a unique signature to each pixel embedding in the temporal attention 800. Continuing from the reshaped tensor for temporal attention Fℎ ∗ }, ^, AH, and interpreting this tensor as the ℎ ∗ } number of sequences, the block 830 treats each sequence as corresponding to the temporal sequence of a pixel within the temporal window. The linear layer 820 operates to extract the Queries (Q), Keys (K), and Values (V) matrices using linear transformations. Once the temporal attention 800 has Q, K for each pixel’s sequence, the block 830 operates to apply RoPE to these matrices. The RoPE mechanism rotates each element within Q, K based on its temporal position within the sequence. This rotation infuses the positional information into the embeddings before the attention mechanism 840 is applied. In some examples, this sequence of operations is implemented in accordance with the following formulas: cos R@^ −sin R@^ 0 0 ... 0 0 é ù
the downstream pipeline 850, 860. [0061] FIG. 9 is a block diagram illustrating a set 900 of operations corresponding to a discrete wavelet transform (DWT) 910 and an inverse discrete wavelet transform (iDWT) 920 according to one example. In the example shown, given an input image 902, denoted as x0, of resolution ℎ m }, the DWT 910 operates to decompose this input into four sub-bands 9120-9123. In other examples, other numbers of DWT decomposition sub-bands can similarly be used.
[0062] For the DWT 910, we define a low-pass filter ^ = ^ √^ F1,1H^and a high-pass filter ^ = ^ F−1,1H^. With these filters, we construct four convolutiona d d d d √^ l kernels: ^^ , ^^ , ^^ , l^^ ^^ . The ^^d kernel effectively performs average pooling over 2 × 2 pixel2 windows, capturing low- frequency components. The other kernels extract different respective sets of higher frequencies. By applying these kernels to the inputs 902, we represent an input sequence of images i1 as sub-bands F`^^, `^^, `^^, `^^ H. Note that, each sub-band has a downsampled resolution with a factor of two to the original input image 902. Importantly, this decomposition is exactly invertible with the iDWT 920, preserving all of the information in the pixel space. As such, applying the iDWT 920 to the sub-bands 9120-9123 will recover the corresponding original input image 902, as indicated in FIG. 9. For example, let us consider an input RGB frame sequence F{, A, ^, ℎ, }H. Through the DWT 910, this sequence will be converted into four sub-band sequences, each having three channels (R, G, and B) at one half of the original image resolution, for every frame in the input sequence. FIG. 9. pictorially shows an example application of the DWT 910 and the iDWT 920 for a single image 902, which represents a “sequence” for which { = 1 and ^ = 1. Based on the provided description, a person of ordinary skill in the pertinent art will be able to apply DWT and iDWT to other sequences corresponding to other values of b and f. [0063] In some examples, implementations of the set 900 may benefit from the use of the Haar wavelet features disclosed in the publication by Melanie Elyse Brewster, “An Introduction to Wavelets (Charles K. Chui),” SIAM Rev. 35 (1993), pp. 312-313, which is incorporated herein by reference in its entirety. Deinterlacing Method [0064] In various examples, a deinterlacing method disclosed herein includes a training algorithm and a testing algorithm. These two algorithms are described in more detail below starting with the training algorithm. In the examples shown, the training algorithm uses a forward diffusion process and a reverse diffusion process as described below. The training and testing algorithms are complementary to one another. [0065] In some examples, a conditional video diffusion model operates at the temporal context window having the size of six. The temporal window size is a hyperparameter of the method. In other examples, other temporal window sizes can also be used. In some examples, before the
forward diffusion process, the Hybrid Shifted Sigmoid Linear (HSSL) algorithm is used for a data preprocessing step. The HSSL algorithm converts an image from the Original Image, OI, to the corresponding Enhanced Image, EI. When applied to a video sequence, the HSSL algorithm converts the Original Video, OV, to the corresponding Enhanced Video, EV. In other examples, other suitable image enhancement algorithms can also be used. [0066] FIG. 10 graphically illustrates a transfer function 1002 used in the HSSL algorithm according to one example. The sigmoid shape of the transfer function 1002 enables the HSSL algorithm to highlight the high frequency components in the image. More specifically, the nonlinear part of the transfer function 1002 can be configured to provide different slope/gap values to increase/decrease the mapped codeword distance for a desired contrast. As a result, compared to the OI image, the EI image generated with the HSSL algorithm can provide a better level of details. [0067] In some examples, for the forward diffusion process, six progressive frames, {^^b}¡ p0^ , are transformed via the HSSL algorithm into EI progressive frames {Z^^b}¡ p0^ at forward diffusion time step ^ = 0. These enhanced progressive frames are then
DWT sub-bands {`b,Y01}¡ p0^ via the DWT 910 as explained above. The DWT sub-bands undergo perturbation with Gaussian noise via the cosine beta schedule 304 for 1000 steps to convert the DWT sub-bands to isometric Gaussian noise. One motivation for the use of the HSSL algorithm on progressive frames is to better map the high-frequency detail signal in the DWT space to the Gaussian distribution through the forward diffusion process such that, during the reverse diffusion process, the method can better learn how to deinterlace the low-frequency interlaced content within high-frequency rich images. [0068] FIG. 11 is a block diagram illustrating an interlacing process 1100 for the training algorithm according to one example. For the reverse diffusion process, creation of conditional data is needed. To generate a synthetic interlaced content as a condition, the interlacing process 1100 is used. In the example shown, the process 1100 is configured to handle a set 1110 of progressive frames {^^Y}¡ 0^ taken from a video sequence with 2 frames. [0069] In some examples, the conditional information is generated with pre-HSSL enhancement of the images. To create an interlaced content, the process 1100 generally follows the flow described above in reference to FIG. 1. More specifically, the process 1100 first picks the odd pixel rows from ^^^ of the set 1110 to interleave with the even pixel rows from ^^^ of the set 1110 to
generate an interlaced conditional frame ^^^^ for an interlaced set 1120. The frame ^^^^ has the same height and width as the original progressive frames ^^^ and ^^^. The process 1100 similarly handles the progressive frames ^^¢, ^^£ of the set 1110 to generate the interlaced frame ^^¢£ for the set 1120. Then, the process 1100 similarly handles the progressive frames ^^¤, ^^¥ of the set 1110 to generate the interlaced frame ^^¤¥ for the set 1120. [0070] During the learning process, we want to associate noises ¦^, ¦^, ¦¢, ¦£, ¦¤, ¦¥ sampled with the conditional signal, i.e., the interlaced frames, in an aim to teach the reverse diffusion process to look at the conditional signal while learning to predict deinterlaced frames. Toward that goal, the process 1100 is configured to repeat the frames ^^^^, ^^¢£, ^^¤¥ of the set 1120 to generate a corresponding expanded interlaced set 1130, which includes the following frame sequence: ^^^^, ^^^^, ^^¢£, ^^¢£, ^^¤¥, ^^¤¥. The set 1130 is then concatenated with the sampled noises {¦X}¥ X0^ in the channel dimension. The concatenation process is described in more detail below in reference to the training workflow. [0071] FIG. 12 is a block diagram illustrating preprocessing 1200 of interlaced images for the testing algorithm according to one example. In some examples, the preprocessing 1200 is performed using the corresponding neural network after its training, involving the interlacing process 1100, is completed. The preprocessing 1200 is typically used to deinterlace the existing interlaced content, such as legacy footage, for which a compatible input to the deinterlacing method needs to be generated. As such, the preprocessing 1200 includes the “repeat” operation of the process 1100, with this repeat operation being applied to an input set 1220 of interlaced frame from the preexisting interlaced content. The “repeat” operation converts the set 1220 into a corresponding expanded interlaced set 1230 as previously explained. [0072] FIG. 13 is a block diagram illustrating a training workflow 1300 of the deinterlacing method according to one example. In some examples, the training workflow 1300 is implemented using Algorithm 3. Algorithm – 3: Training Noise Predictor Network VW via Proposed method 1: _^^1^ ← HSSL enhanced video dataset EV 2: p^¨^ ← original video dataset OV 3: Initialize: model weights for !W,
For illustration purposes, some of the numbered steps of Algorithm 3 are mapped to the training workflow 1300 as indicated in FIG. 13. [0073] Steps (1), (2), (3) of Algorithm 3 are used to prepare and/or provide various inputs to the workflow 1300. Step (5) of Algorithm 3 is used to sample a sequence of ^ images from the HSSL- enhanced video dataset EV. Step (6) of Algorithm 3 is used to sample a sequence of ^ original images from the original video dataset OV. Step (7) of Algorithm 3 is used to generate interlaced images from the original video dataset OV, e.g., as explained in reference to FIG. 11. The diffusion time step ^ and the noise ! are sampled at steps (8) and (9), respectively. For a forward diffusion at sampled time step ^, we perturb, at step (11), the DWT sub-bands {`b,Y01}¡ p0^ with sampled gaussian noise ! to get the noisy DWT sub-bands {`b,Y0Y}¡ p0^ p0^ = & ¡
'( {`b,Y01}p0^ + &1 − '( ! which is doing in We then pass
interlaced image sequence a learnable
with one layer to downsample the conditional signal by one half of its resolution and increasing the number of channels by a factor of 4, which aligns to the resolution of the noisy DWT sub-bands. This downsampled conditional information is concatenated with the noisy DWT sub-bands {`b,Y0Y}¡ p0^ on the channel dimension as illustrated in FIG. 7. The concatenated tensor is passed to a 3D U-Net 1370 to detect the noise added at the current diffusion time step ^. This process repeats until convergence. Note that all neural network components (e.g.,
1360, 1370) learn together. Therefore, parameters of 3D convolutional encoder 1360 are also updated based on the loss function. [0074] FIG. 14 is a block diagram illustrating a testing workflow 1400 of the deinterlacing method according to one example. In some examples, the testing workflow 1400 is implemented using Algorithm 4. Algorithm – 4: Sampling from proposed Conditional Video Diffusion Process For
workflow 1400 as indicated in FIG. 14. [0075] After the training process of the workflow 1300 converges, the trained neural network 65 is loaded, in step (1), for being used in the testing workflow 1400. The starting noisy sub-bands are initialized in step (2) from the Gaussian distribution. At step (3), the interlaced content is prepared. In various examples, the interlaced content can be synthetic interlaced content (e.g., see FIG. 11) or original (legacy) interlaced content (e.g., see FIG. 12). For evaluating a trained model objectively, we prepare synthetic interlaced content as described above in reference to FIG. 11 to have the ground truth information, which can be used to compute evaluation scores, like PSNR. Toward that goal, we use a sequence of ^ original images from the original video dataset OV, as explained above, and create interlaced content. However, if we are using the trained model to deinterlace the
interlaced content that already exists (e.g., legacy footage, etc.), we just need to do the preprocessing 1200. We then pass this interlaced content through the learned 3D convolutional encoder 1360 to create interlaced content’s feature maps. We repeatedly do the reverse conditional video diffusion process 1470 for 2 = 1000 steps, with the interlaced content’s feature maps, denoised noisy sub- bands at each sampling step ^ as the conditional signal for the learned neural network 1370. sampling process is completed, we get the DWT sub-bands of the deinterlaced content, to which we apply iDWT, at step (8), to transition from wavelet domain to the pixel (RGB) domain. This final result obtained at step (9) is the deinterlaced content. In a typical example, the deinterlaced content has no artifacts associated with interlacing and is of a better quality in terms of the high-frequency details due to the use of the HSSL-enhanced training data. [0076] FIG. 15 is a flowchart illustrating a method 1500 of training a video deinterlacing model according to some examples. The method 1500 is described below with continued reference to at least some of the preceding FIGS. 1-14. [0077] A block 1502 of the method 1500 includes applying a DWT (e.g., 910, FIG. 9) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands (e.g., 9120-9123, FIG. 9). In some examples, the first set of progressive video frames and the set of interlaced video frames are obtained from the training video sequence using a selectable same size of a temporal context window. In some examples, the “same” size is selected to be six frames (also see FIG. 13). In some examples, the first set of progressive video frames is generated by performing image enhancement on a corresponding set of original video frames of the training video sequence. In some examples, the image enhancement operations include applying a hybrid shifted sigmoid linear (HSSL) transform to the corresponding set of original video frames of the training video sequence (e.g., as described in reference to FIG. 10). In some examples, the set of interlaced video frames is generated by pairwise interlacing a corresponding set of original video frames of the training video sequence and repeating each of the resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames (e.g., as described in reference to FIG. 12). [0078] A block 1504 of the method 1500 includes converting the set of interlaced video frames into a set of feature maps, wherein the set of interlaced video frames corresponds to the first set of progressive video frames. In some examples, operations of the block 1504 include passing the set of
interlaced video frames through a convolutional encoder (e.g., 1360, FIG. 13) configured to cause the set of feature maps to have a downsampled resolution. In some examples, the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the corresponding set of DWT sub-bands. [0079] A block 1506 of the method 1500 includes subjecting the set of DWT sub-bands generated in the block 1502 to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands (e.g., as described in reference to FIG. 13). In some examples, the conditional video diffusion model is implemented using a plurality of 3D U-Nets (e.g., 1370, FIG. 13; also see FIG. 4). In some examples, a 3D U-Net of the plurality includes: (i) a downsampling branch (e.g., 402, FIG. 4) including a series of downsample blocks (e.g., 410, FIG. 4) and (ii) an upsampling branch (e.g., 406, FIG. 4) including a series of upsample blocks (e.g., 430, FIG. 4). The 3D U-Net also includes a plurality of skip connections, with each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks (also see FIG. 4). In some examples, each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism. In some examples, the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding. In some examples, the multistep forward diffusion is implemented based on a cosine schedule (e.g., 304, FIG. 3). [0080] A block 1508 of the method 1500 includes, with the conditional video diffusion model (i.e., a multistep reverse diffusion of the conditional video diffusion model), predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps (e.g., as described in reference to FIG. 13). [0081] A block 1510 of the method 1500 includes updating a set of parameters of the conditional video diffusion model (i.e., the multistep reverse diffusion) based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub- bands (e.g., in accordance with a gradient descent method and steps (12)-(13) of Algorithm 3). [0082] In some examples, at least some operations of the blocks 1502-1510 of the method 1500 are cyclically repeated until the applicable convergence or training-stoppage criteria are met.
[0083] FIG. 16 is a flowchart illustrating a video deinterlacing method 1600 according to some examples. The method 1600 is described below with continued reference to at least some of the preceding FIGS. 1-15. [0084] A block 1602 of the method 1600 includes converting a set of interlaced video frames of an interlaced video into a set of feature maps. In some examples, the set of interlaced video frames and the corresponding set of progressive video frames have a selectable same number of frames. In some examples, the “same” number is selected to be six frames. In some examples, operations of the block 1602 include (i) pairwise interlacing a corresponding set of odd and even fields of the interlaced video and (ii) repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames (also see FIG. 11). In some examples, operations of the block 1602 include passing the set of interlaced video frames through a convolutional encoder (e.g., 1360, FIG. 14) configured to cause the set of feature maps to have a downsampled resolution. In some examples, the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the set of DWT sub-bands. [0085] A block 1604 of the method 1600 includes subjecting a set of DWT sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands (e.g., as described in reference to FIG. 14). The conditional video diffusion model is configured to receive the set of feature maps as a condition for the multistep reverse diffusion. In some examples, the conditional video diffusion model has been trained to incorporate image enhancement processing. In some examples, the image enhancement processing includes a hybrid shifted sigmoid linear (HSSL) transform described above in reference to FIG. 10. In some examples, the conditional video diffusion model is implemented using a plurality of 3D U-Nets. In some examples, a 3D U-Net of the plurality includes: (i) a downsampling branch (e.g., 402, FIG. 4) including a series of downsample blocks (e.g., 410, FIG. 4) and (ii) an upsampling branch (e.g., 406, FIG. 4) including a series of upsample blocks (e.g., 430, FIG. 4). The 3D U-Net also includes a plurality of skip connections, with each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks (also see FIG. 4). In some examples, each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism. In some examples, the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding. In some
examples, the multistep forward diffusion is implemented based on a cosine schedule (e.g., 304, FIG. 3). [0086] A block 1606 of the method 1600 includes applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video (e.g., as described in reference to FIG. 14). [0087] FIG. 17 is a block diagram of an example computing device 1700 one or more instances of which can be used to implement various above-described methods and workflows according to various examples. [0088] The computing device 1700 of FIG. 17 is illustrated as having a number of components, but any one or more of these components may be omitted or duplicated, as suitable for the application and setting. In some embodiments, some or all of the components included in the computing device 1700 may be attached to one or more motherboards and enclosed in a housing. In some embodiments, some of those components may be fabricated onto a single system-on-a-chip (SoC) (e.g., the SoC may include one or more electronic processing devices 1702 and one or more storage devices 1704). Additionally, in various embodiments, the computing device 1700 may not include one or more of the components illustrated in FIG. 17, but may include interface circuitry for coupling to the one or more components using any suitable interface (e.g., a Universal Serial Bus (USB) interface, a High-Definition Multimedia Interface (HDMI) interface, a Controller Area Network (CAN) interface, a Serial Peripheral Interface (SPI) interface, an Ethernet interface, a wireless interface, or any other appropriate interface). For example, the computing device 1700 may not include a display device 1710, but may include display device interface circuitry (e.g., a connector and driver circuitry) to which an external display device 1710 may be coupled. [0089] The computing device 1700 includes a processing device 1702 (e.g., one or more processing devices). As used herein, the terms “electronic processor device” and “processing device” interchangeably refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory. In various embodiments, the processing device 1702 may include one or more digital signal processors (DSPs), application-specific integrated circuits
(ASICs), central processing units (CPUs), graphics processing units (GPUs), server processors, or any other suitable processing devices. [0090] The computing device 1700 also includes a storage device 1704 (e.g., one or more storage devices). In various embodiments, the storage device 1704 may include one or more memory devices, such as random-access memory (RAM) devices (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard drive-based memory devices, solid-state memory devices, networked drives, cloud drives, or any combination of memory devices. In some embodiments, the storage device 1704 may include memory that shares a die with the processing device 1702. In such an embodiment, the memory may be used as cache memory and include embedded dynamic random-access memory (eDRAM) or spin transfer torque magnetic random-access memory (STT-MRAM), for example. In some embodiments, the storage device 1704 may include non-transitory computer readable media having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 1702), cause the computing device 1700 to perform any appropriate ones of the methods disclosed herein below or portions of such methods. [0091] The computing device 1700 further includes an interface device 1706 (e.g., one or more interface devices 1706). In various embodiments, the interface device 1706 may include one or more communication chips, connectors, and/or other hardware and software to govern communications between the computing device 1700 and other computing devices. For example, the interface device 1706 may include circuitry for managing wireless communications for the transfer of data to and from the computing device 1700. The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data via modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. Circuitry included in the interface device 1706 for managing wireless communications may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.11 family), IEEE 802.16 standards, Long-Term Evolution (LTE) project along with any amendments, updates, and/or revisions (e.g., advanced LTE project, ultramobile broadband (UMB) project (also referred to as “3GPP2”), etc.). In some embodiments, circuitry
included in the interface device 1706 for managing wireless communications may operate in accordance with a Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA), or LTE network. In some embodiments, circuitry included in the interface device 1706 for managing wireless communications may operate in accordance with Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN). In some embodiments, circuitry included in the interface device 1706 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. In some embodiments, the interface device 1706 may include one or more antennas (e.g., one or more antenna arrays) configured to receive and/or transmit wireless signals. [0092] In some embodiments, the interface device 1706 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocols. For example, the interface device 1706 may include circuitry to support communications in accordance with Ethernet technologies. In some embodiments, the interface device 1706 may support both wireless and wired communication, and/or may support multiple wired communication protocols and/or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 1706 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth, and a second set of circuitry of the interface device 1706 may be dedicated to longer- range wireless communications such as global positioning system (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others. In some other embodiments, a first set of circuitry of the interface device 1706 may be dedicated to wireless communications, and a second set of circuitry of the interface device 1706 may be dedicated to wired communications. [0093] The computing device 1700 also includes battery/power circuitry 1708. In various embodiments, the battery/power circuitry 1708 may include one or more energy storage devices (e.g., batteries or capacitors) and/or circuitry for coupling components of the computing device 1700 to an energy source separate from the computing device 1700 (e.g., to AC line power).
[0094] The computing device 1700 also includes a display device 1710 (e.g., one or multiple individual display devices). In various embodiments, the display device 1710 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat panel display. [0095] The computing device 1700 also includes additional input/output (I/O) devices 1712. In various embodiments, the I/O devices 1712 may include one or more data/signal transfer interfaces, audio I/O devices (e.g., microphones or microphone arrays, speakers, headsets, earbuds, alarms, etc.), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, etc.), image capture devices (e.g., one or more cameras), human interface devices (e.g., keyboards, cursor control devices, such as a mouse, a stylus, a trackball, or a touchpad), etc. [0096] Depending on the specific embodiment, various components of the interface devices 1706 and/or I/O devices 1712 can be configured to output suitable control signals, receive suitable control/telemetry signals, and receive and transmit data streams. In some examples, the interface devices 1706 and/or I/O devices 1712 include one or more analog-to-digital converters (ADCs) for transforming received analog signals into a digital form suitable for operations performed by the processing device 1702 and/or the storage device 1704. In some additional examples, the interface devices 1706 and/or I/O devices 1712 include one or more digital-to-analog converters (DACs) for transforming digital signals provided by the processing device 1702 and/or the storage device 1704 into an analog form suitable for being transmitted through a communication channel. [0097] According to an example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs. 1-17, provided is a method of training a video deinterlacing model, the method comprising: applying a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; converting a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subjecting the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model, predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and
updating a set of parameters of the conditional video diffusion model based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub-bands. [0098] In some embodiments of the above method, the first set of progressive video frames and the set of interlaced video frames are obtained from the training video sequence using a selectable same size of a temporal context window. [0099] In some embodiments of any of the above methods, the same size is selected to be six frames. [00100] In some embodiments of any of the above methods, the method further comprises generating the first set of progressive video frames by performing image enhancement on a corresponding set of original video frames of the training video sequence. [00101] In some embodiments of any of the above methods, the performing includes applying a hybrid shifted sigmoid linear (HSSL) transform to the corresponding set of original video frames of the training video sequence. [00102] In some embodiments of any of the above methods, the method further comprises generating the set of interlaced video frames by pairwise interlacing the corresponding set of original video frames and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames. [00103] In some embodiments of any of the above methods, the method further comprises generating the set of interlaced video frames by pairwise interlacing a corresponding set of original video frames of the training video sequence and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames. [00104] In some embodiments of any of the above methods, the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution. [00105] In some embodiments of any of the above methods, the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the corresponding set of DWT sub-bands.
[00106] In some embodiments of any of the above methods, the conditional video diffusion model is implemented using a plurality of 3D U-Nets. [00107] In some embodiments of any of the above methods, a 3D U-Net of the plurality comprises: a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks. [00108] In some embodiments of any of the above methods, each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism. [00109] In some embodiments of any of the above methods, the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding. [00110] In some embodiments of any of the above methods, the multistep forward diffusion is implemented based on a cosine schedule. [00111] A non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, cause the electronic processor to perform operations comprising any one of the above methods. [00112] According to another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs. 1-17, provided is an apparatus for training a video deinterlacing model, the apparatus comprising: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: apply a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; convert a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subject the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the forward diffusion a respective set of noisy sub-bands; with the conditional video diffusion model, predict a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and update a set of parameters of the conditional video diffusion model based on a difference
between the predicted respective added noise and a sampled noise of the respective set of noisy sub- bands. [00113] According to yet another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs. 1-17, provided is a video deinterlacing method, comprising: converting a set of interlaced video frames of an interlaced video into a set of feature maps; subjecting a set of discrete-wavelet-transform (DWT) sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video. [00114] In some embodiments of the above method, the set of interlaced video frames and the corresponding set of progressive video frames have a selectable same number of frames. [00115] In some embodiments of any of the above methods, the same number is selected to be six frames. [00116] In some embodiments of any of the above methods, the conditional video diffusion model has been trained to incorporate image enhancement processing. [00117] In some embodiments of any of the above methods, the image enhancement processing includes a hybrid shifted sigmoid linear (HSSL) transform. [00118] In some embodiments, the method further comprises: pairwise interlacing a corresponding set of odd and even fields of the interlaced video; and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames. [00119] In some embodiments of any of the above methods, the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution. [00120] In some embodiments of any of the above methods, the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the set of DWT sub-bands.
[00121] In some embodiments of any of the above methods, the conditional video diffusion model is implemented using a plurality of 3D U-Nets. [00122] In some embodiments of any of the above methods, a 3D U-Net of the plurality comprises: a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks. [00123] In some embodiments of any of the above methods, each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism. [00124] In some embodiments of any of the above methods, the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding. [00125] In some embodiments of any of the above methods, the multistep reverse diffusion is implemented based on a cosine schedule. [00126] A non-transitory computer-readable medium storing instructions that, when executed by an electronic processor, cause the electronic processor to perform operations comprising any one of the above methods. [00127] According to yet another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs. 1-17, provided is a video deinterlacing apparatus, comprising: at least one processor; and at least one memory including program code, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: convert a set of interlaced video frames of an interlaced video into a set of feature maps; subject a set of discrete-wavelet-transform (DWT) sub- bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and apply an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
[00128] With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments and should in no way be construed so as to limit the claims. [00129] Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation. [00130] All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary is made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary. [00131] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments incorporate more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in fewer than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.
[00132] While this disclosure includes references to illustrative embodiments, this specification is not intended to be construed in a limiting sense. Various modifications of the described embodiments, as well as other embodiments within the scope of the disclosure, which are apparent to persons skilled in the art to which the disclosure pertains are deemed to lie within the principle and scope of the disclosure, e.g., as expressed in the following claims. [00133] Some embodiments may be implemented as circuit-based processes, including possible implementation on a single integrated circuit. [00134] Some embodiments can be embodied in the form of methods and apparatuses for practicing those methods. Some embodiments can also be embodied in the form of program code recorded in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other non-transitory machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the patented invention(s). Some embodiments can also be embodied in the form of program code, for example, stored in a non- transitory machine-readable storage medium including being loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer or a processor, the machine becomes an apparatus for practicing the patented invention(s). When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. [00135] Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value or range. [00136] The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures. [00137] Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
[00138] Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.” [00139] Unless otherwise specified herein, the use of the ordinal adjectives “first,” “second,” “third,” etc., to refer to an object of a plurality of like objects merely indicates that different instances of such like objects are being referred to, and is not intended to imply that the like objects so referred-to have to be in a corresponding order or sequence, either temporally, spatially, in ranking, or in any other manner. [00140] Unless otherwise specified herein, in addition to its plain meaning, the conjunction “if” may also or alternatively be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” which construal may depend on the corresponding specific context. For example, the phrase “if it is determined” or “if [a stated condition] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event].” [00141] Also, for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements. [00142] As used herein in reference to an element and a standard, the term compatible means that the element communicates with other elements in a manner wholly or partially specified by the standard and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard. The compatible element does not need to operate internally in a manner specified by the standard. [00143] The functions of the various elements shown in the figures, including any functional blocks labeled as “processors” and/or “controllers,” may be provided through the use of dedicated
hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and nonvolatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context. [00144] As used in this application, the terms “circuit,” “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry); (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and/or digital hardware circuit(s) with software/firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.” This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and/or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device. [00145] It should be appreciated by those of ordinary skill in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the disclosure.
Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. [00146] “BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS” in this specification is intended to introduce some example embodiments, with additional embodiments being described in “DETAILED DESCRIPTION” and/or in reference to one or more drawings. “BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS” is not intended to identify essential elements or features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
Claims
CLAIMS What is claimed is: 1. A method of training a video deinterlacing model, the method comprising: applying a discrete wavelet transform (DWT) to a first set of progressive video frames representing a training video sequence to generate a corresponding set of DWT sub-bands; converting a set of interlaced video frames into a set of feature maps, the set of interlaced video frames corresponding to the first set of progressive video frames; subjecting the corresponding set of DWT sub-bands to multistep forward diffusion of a conditional video diffusion model to obtain at each step of the multistep forward diffusion a respective set of noisy sub-bands; with multistep reverse diffusion of the conditional video diffusion model, predicting a respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps; and updating a set of parameters of the multistep reverse diffusion of the conditional video diffusion model based on a difference between the predicted respective added noise and a sampled noise of the respective set of noisy sub-bands.
2. The method of claim 1, wherein the first set of progressive video frames and the set of interlaced video frames are obtained from the training video sequence using a selectable same size of a temporal context window.
3. The method of claim 2, wherein the same size is selected to be six frames.
4. The method of any preceding claim, further comprising generating the first set of progressive video frames by performing image enhancement on a corresponding set of original video frames of the training video sequence.
5. The method of claim 4, wherein the performing includes applying a hybrid shifted sigmoid linear (HSSL) transform to the corresponding set of original video frames of the training video sequence.
6. The method of claim 4, further comprising generating the set of interlaced video frames by pairwise interlacing the corresponding set of original video frames and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
7. The method of any one of claims 1 to 3, further comprising generating the set of interlaced video frames by pairwise interlacing a corresponding set of original video frames of the training video sequence and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
8. The method of any preceding claim, wherein the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution.
9. The method of claim 8, wherein the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the corresponding set of DWT sub-bands.
10. The method of claim 8 or 9, wherein the method further comprises updating a set of parameters of the convolutional encoder based on the difference between the predicted respective added noise and the sampled noise of the respective set of noisy sub-bands.
11. The method of any preceding claim, wherein predicting the respective added noise based on the respective set of noisy sub-bands and further based on the set of feature maps comprises: concatenating the respective set of noisy sub-bands and the set of feature maps; and predicting the respective added noise by the multistep reverse diffusion of the conditional video diffusion model based on the concatenation of the respective set of noisy sub-bands and the set of feature maps.
12. The method of any preceding claim, wherein the multistep reverse diffusion of the conditional video diffusion model is implemented using a plurality of 3D U-Nets.
13. The method of claim 12, wherein a 3D U-Net of the plurality comprises:
a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks.
14. The method of claim 13, wherein each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
15. The method of claim 14, wherein the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
16. The method of any preceding claim, wherein a schedular of the multistep forward diffusion is implemented based on a cosine schedule.
17. A video deinterlacing method, comprising: converting a set of interlaced video frames of an interlaced video into a set of feature maps; subjecting a set of discrete-wavelet-transform (DWT) sub-bands representing Gaussian noise to multistep reverse diffusion of a conditional video diffusion model to obtain a set of predicted deinterlaced sub-bands, the conditional video diffusion model receiving the set of feature maps as a condition for the multistep reverse diffusion; and applying an inverse discrete wavelet transform (iDWT) to the set of predicted deinterlaced sub-bands to obtain a corresponding set of progressive video frames for a deinterlaced version of the interlaced video.
18. The method of claim 17, wherein the multistep reverse diffusion of the conditional video diffusion model has been trained according to any one of claims 1 to 16.
19. The method of any one of claims 17 to 18, wherein the set of interlaced video frames and the corresponding set of progressive video frames have a selectable same number of frames.
20. The method of claim 19, wherein the same number is selected to be six frames.
21. The method of any one of claims 17 to 20, wherein the multistep reverse diffusion of the conditional video diffusion model has been trained to incorporate image enhancement processing.
22. The method of claim 21, wherein the image enhancement processing includes a hybrid shifted sigmoid linear (HSSL) transform.
23. The method of any one of claims 17 to 22, further comprising: pairwise interlacing a corresponding set of odd and even fields of the interlaced video; and repeating each of resulting pairwise interlaced frames to have two instances thereof in the set of interlaced video frames.
24. The method of any one of claims 17 to 23, wherein the converting comprises passing the set of interlaced video frames through a convolutional encoder configured to cause the set of feature maps to have a downsampled resolution.
25. The method of claim 24, the convolutional encoder is further configured to cause a number of channels in the set of feature maps to align with a resolution of the set of DWT sub-bands.
26. The method of claim 24 or 25, wherein the convolution encoder has been trained according to claim 10.
27. The method of any one of claims 17 to 26, the conditional video diffusion model is implemented using a plurality of 3D U-Nets.
28. The method of claim 27, wherein a 3D U-Net of the plurality comprises: a downsampling branch including a series of downsample blocks; an upsampling branch including a series of upsample blocks; and a plurality of skip connections, each of the skip connections being between a respective one of the downsample blocks and a respective one of the upsample blocks.
29. The method of claim 28, wherein each of the downsample blocks and each of the upsample blocks includes a respective spatiotemporal attention mechanism.
30. The method of claim 29, wherein the respective spatiotemporal attention mechanism is configured to perform rotary positional encoding.
31. The method of any one of claims 17 to 30, wherein a schedular of the multistep reverse diffusion is implemented based on a cosine schedule.
32. An apparatus, comprising one or more processors and a memory coupled to the one or more processors and storing instructions for the one or more processors, wherein the one or more processors are adapted to carry out the method according to any one of claims 1 to 31.
33. A computer program comprising instructions that, when executed by one or more processors, cause the one or more processors to carry out the method according to any one of claims 1 to 31.
34. A computer-readable storage medium storing the computer program according to claim 33.
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463658156P | 2024-06-10 | 2024-06-10 | |
| US63/658,156 | 2024-06-10 | ||
| US202463683943P | 2024-08-16 | 2024-08-16 | |
| US63/683,943 | 2024-08-16 | ||
| EP24209042.1 | 2024-10-25 | ||
| EP24209042 | 2024-10-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025259596A1 true WO2025259596A1 (en) | 2025-12-18 |
Family
ID=96429516
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2025/032866 Pending WO2025259596A1 (en) | 2024-06-10 | 2025-06-09 | Video deinterlacing via wavelet-based conditional video diffusion model |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025259596A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240169488A1 (en) * | 2022-11-17 | 2024-05-23 | Adobe Inc. | Wavelet-driven image synthesis with diffusion models |
-
2025
- 2025-06-09 WO PCT/US2025/032866 patent/WO2025259596A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240169488A1 (en) * | 2022-11-17 | 2024-05-23 | Adobe Inc. | Wavelet-driven image synthesis with diffusion models |
Non-Patent Citations (3)
| Title |
|---|
| CIGEK, ÖZGÜN ET AL.: "3D U-Net: learning dense volumetric segmentation from sparse annotation", MEDICAL IMAGE COMPUTING AND COMPUTER-ASSISTED INTERVENTION -- MICCAI 2016: 19TH INTERNATIONAL CONFERENCE, 17 October 2016 (2016-10-17) |
| MELANIE ELYSE BREWSTER: "An Introduction to Wavelets (Charles K. Chui", SIAM REV., vol. 35, 1993, pages 312 - 313 |
| SU, JIANLIN ET AL.: "Roformer: Enhanced transformer with rotary position embedding", NEUROCOMPUTING, vol. 568, 2024, pages 127063 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11861809B2 (en) | Electronic apparatus and image processing method thereof | |
| CN110889895B (en) | Face video super-resolution reconstruction method fusing single-frame reconstruction network | |
| CN112734646B (en) | An image super-resolution reconstruction method based on feature channel division | |
| CN106683067B (en) | A deep learning super-resolution reconstruction method based on residual sub-images | |
| CN100493174C (en) | Image processing method and image processing apparatus | |
| CN112270644A (en) | Face super-resolution method based on spatial feature transformation and cross-scale feature integration | |
| US8718407B2 (en) | High-quality single-frame superresolution training and reconstruction engine | |
| CN102722865A (en) | Super-resolution sparse representation method | |
| CN111008938B (en) | A real-time multi-frame bit enhancement method based on content and continuity guidance | |
| Li et al. | Example-based image super-resolution with class-specific predictors | |
| CN110610467B (en) | Multi-frame video compression noise removing method based on deep learning | |
| KR20220065652A (en) | Method of fusing dvs data and fbis image, system implementing same and non-transitory program storage device | |
| CN110099280B (en) | A video service quality enhancement method under the limited bandwidth of wireless ad hoc network | |
| KR20190059157A (en) | Method and Apparatus for Improving Image Quality | |
| CN112270646B (en) | Super-resolution enhancement method based on residual dense jump network | |
| Lopez-Tapia et al. | A single video super-resolution GAN for multiple downsampling operators based on pseudo-inverse image formation models | |
| CN117097858A (en) | A multi-modal high frame rate frame insertion method based on edge enhancement | |
| CN120182117A (en) | A multimodal large model context understanding method for high-speed abnormal exposure scenarios | |
| EP4360053A1 (en) | Learning-based point cloud compression via unfolding of 3d point clouds | |
| CN112533026A (en) | Video frame interpolation method based on convolutional neural network | |
| Liu et al. | Diffosr: Latitude-aware conditional diffusion probabilistic model for omnidirectional image super-resolution | |
| KR101979584B1 (en) | Method and Apparatus for Deinterlacing | |
| Wang | Single image super-resolution with u-net generative adversarial networks | |
| CN113674154B (en) | Single image super-resolution reconstruction method and system based on generation countermeasure network | |
| WO2025188672A1 (en) | Temporally consistent video denoising |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25740310 Country of ref document: EP Kind code of ref document: A1 |