Video decoding involving GOP-based temporal filtering

By selecting and filtering the picture subset of the video sequence in the video encoding technology and weighting the pixel values ​​of its pixel values, the problem of low denoising efficiency of video signals in the prior art is solved, and higher quality and efficient video encoding is achieved.

CN113796073BActive Publication Date: 2025-05-02TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080035278.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-03-11
Filing Date
2020-03-10
Publication Date
2025-05-02
Estimated Expiration
2040-03-10

AI Technical Summary

Technical Problem

The existing video encoding technology is difficult to effectively denoise when processing video signals, resulting in low encoding quality and low efficiency.

Method used

Select a subset of pictures of the video sequence and filter the selected subset, including selecting a subset based on the location of the picture, the number of references, the position in the decoding level, or the time ID, and applying the overall filter intensity value. Weighted modifications to pixel values ​​for the selected subset pictures, using reference pixel values ​​in the picture to reduce noise.

Benefits of technology

Improve the quality and efficiency of video encoding, reduce noise through effective denoising processing, and improve the performance of the encoder.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113796073B_ABST
    Figure CN113796073B_ABST
Patent Text Reader

Abstract

A method for encoding a video signal includes receiving an input including a sequence of pictures. A subset of pictures from the sequence is selected. The selected subset of pictures from the sequence is then filtered. The filtered selected subset of pictures and unfiltered pictures not in the selected subset are then applied to an encoder to produce an encoded signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] An embodiment of the present disclosure relates to a video coding method. Background Art

[0002] In a known process for encoding a sequence of pictures, each picture is indicated by a picture order count (POC) number 0, 1, 2, 3, ... etc. The encoding process results in a decoded video sequence starting with an independently decoded picture, which is called an I-frame, i.e. a frame with POC 0. After that, there are usually several frames predicted from at least one other frame, which we call B-frames. Usually, decoding is done hierarchically. First, the I-frame (frame 0) is decoded, then the frames predicted from the I-frame, then the frames predicted from the previously decoded frames, and so on. The structure that defines how pictures can reference each other is called the group of pictures (GOP) structure. Summary of the invention

[0003] In general, unless a different meaning is implied and / or clearly given from the context in which it is used, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field. Unless otherwise expressly stated, all references to an element, device, assembly, part, step, etc. are to be interpreted as referring to at least one instance of the element, device, assembly, part, step, etc. in an open manner. Unless a step is explicitly described as following or preceding another step, and / or it is implied that a step must follow or precede another step, the steps of any method disclosed herein do not have to be performed in the exact order disclosed. In any appropriate case, any feature of any embodiment in the embodiments disclosed herein may be applied to any other embodiment. Similarly, any advantage of any embodiment in the embodiment may be applied to any other embodiment, and vice versa. According to the following description, other purposes, features and advantages of the attached embodiments will be apparent.

[0004] According to an embodiment of the present disclosure, there is provided a method for encoding a video signal, the method comprising: receiving an input including a sequence of pictures; selecting a subset of pictures from the sequence; filtering the selected subset of pictures from the sequence; applying the filtered selected subset of pictures and unfiltered pictures not in the selected subset to an encoder to generate an encoded signal.

[0005] The selected subset of pictures includes at least one picture and does not include all pictures.

[0006] Selecting the subset of pictures may include selecting the subset of pictures based on a position of the pictures in a sequence of pictures.

[0007] The method may include selecting a subset of pictures based on a picture order count (POC) number, a number of references to the picture, a position in a coding hierarchy, or a temporal ID.

[0008] Filtering the selected subset of pictures from the sequence may include applying an overall filter strength value.

[0009] The overall filter strength value may be set depending on one or more of the following: picture order count (POC) number, number of references to the picture, position in the coding hierarchy, or temporal ID.

[0010] For pictures with a first temporal ID, the overall filter strength value may be set to a first value, while for pictures with a second temporal ID, the overall filter strength value is set to a different second value.

[0011] The first value of the overall filter strength value may be higher than the second value, and the first time ID may be lower than the second time ID.

[0012] Filtering the selected subset of pictures from the sequence further includes: selecting at least one reference picture associated with each selected picture; and modifying pixel values ​​in each selected picture based on corresponding pixel values ​​in the at least one reference picture.

[0013] The step of modifying pixel values ​​may include modifying at least one pixel value according to a weighted sum of corresponding pixel values ​​in the at least one reference picture.

[0014] The weight applied to the pixel value may be based on the squared difference between the pixel and the corresponding pixel in the reference picture. Alternatively, the weight applied to the pixel value may be based on the sum of the squared differences between pixels in a region in the current frame and pixels in a corresponding region in the reference.

[0015] The method may include applying a first weight in a luma channel and applying a second weight in a chroma channel.

[0016] The at least one reference picture may include a predetermined number of pictures before the selected picture and a predetermined number of pictures after the selected picture.

[0017] The encoder may comprise a hybrid encoder.

[0018] According to a second aspect, there is provided a video encoder comprising: a temporal filter for filtering an input, wherein the temporal filter is configured to operate according to the method according to the first aspect; and an encoder for encoding a filtered picture.

[0019] This improves encoding quality while also increasing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. However, other embodiments are included within the scope of the subject matter disclosed herein, and the disclosed subject matter should not be construed as being limited to the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

[0021] Figure 1 A device according to an embodiment of the present disclosure is shown.

[0022] Figure 2 One form of video coding is illustrated.

[0023] Figure 3 A video encoder according to an embodiment of the present disclosure is illustrated.

[0024] Figure 4 is a flowchart illustrating a method of video encoding according to an embodiment of the present disclosure.

[0025] Figure 5 Pictured Figure 4 stage in the method.

[0026] Figure 6 Pictured Figure 4 stage in the method.

[0027] Figure 7 is a flowchart illustrating a method of video encoding according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0028] Figure 1 An apparatus 10 according to an aspect of the present disclosure is shown.

[0029] The device 10 may be, for example, a portable computing device such as a laptop, notepad or tablet computer, or may be a communication device such as a smartphone. The device 10 may also be a dedicated imaging device, such as a camera.

[0030] The device 10 comprises an imaging module 20 including optical means such as a lens and one or more image sensors for producing a sequence of pictures which together form a video.

[0031] Device 10 also includes a data processing and control unit 30, which is shown as including a processor 32 and a memory 34. Processor 32 and memory 34 may each include a single unit, or may be composed of multiple units. For example, a video encoder described in more detail below may be located in a processing chip that also controls other operations of device 10, or may be provided in a separate video processing chip.

[0032] The device 10 also includes a transceiver module 40 for communicating with other devices. In the case where the device 10 is a portable computing device or a communication device, the transceiver module 40 can be a wireless communication transceiver for communicating through a wireless communication network. In other examples, the transceiver module 40 can be configured to establish communication with at least one other device through a wired link.

[0033] Figure 2 The diagram illustrates the process of video decoding.

[0034] Specifically, Figure 2 The process of encoding a sequence of pictures is shown, where each picture is indicated by a picture order count (POC) number 0, 1, 2, 3, ..., 32. The encoding process results in a decoded video sequence starting with an independently decoded picture, which is called an I frame, i.e. a frame with POC 0.

[0035] After that, there are usually several frames predicted from at least one other frame, which we call B frames. Usually, decoding is done hierarchically. First the I frame (frame 0) is decoded, then frame 16 predicted from 1, then frame 8 predicted from 0 and 16, and so on. Figure 2 The decoding order is also indicated (which is the same as the decoding order when the sequence is finally decoded).

[0036] Figure 2 The structure shown in is called the Group of Pictures (GOP) structure. The GOP structure defines how pictures can reference each other and the specific configuration of each picture. The GOP can be divided into temporal sub-layers. Figure 2 In , there are 5 temporal sub-layers indicated by temporal identifiers (TId) 0 to 4. A picture in a certain temporal sub-layer cannot reference a picture in a higher temporal sub-layer.

[0037] Figure 2 A typical example of a GOP structure for random access in High Efficiency Video Coding (HEVC) is illustrated, but it can be appreciated that many such structures are possible.

[0038] Each GOP has 16 pictures starting with the picture with TId 0. The arrows illustrate references, so, for example, POC 8 is used as a reference for POC 4, 6, 7, 9, 10 and 12. The decoder order, i.e. the order in which the pictures are processed by the decoder, is usually optimized so that the referenced pictures are as close as possible to the pictures to minimize latency and memory usage.

[0039] When trying to reduce noise in a video sequence, one possibility is to find areas in different frames that correspond to each other. This is done through a process called motion estimation. A filter can then be applied that replaces pixel values ​​with weighted pixel values ​​from the same area in different frames, thus smoothing out the noise. We only want to average pixels that truly correspond to each other, so if the difference between their values ​​is too large, we want to reduce the amount of filtering. This can be done, for example, by using a bilateral filter.

[0040] When decoding a video frame based on another frame, they often match very well and it is possible to simply copy over pixels from the previous frame without modification. There will usually still be small differences between the original frames though, and to minimize the overall error we want the pixels to be similar not only to the original pixels in the frame they were first decoded, but also to all future frames they will be reused in.

[0041] Figure 3 A video encoder according to one aspect of the present disclosure is illustrated.

[0042] Specifically, Figure 3 A video encoder 100 is shown that includes a GOP-based temporal filter 102 that is directly or indirectly connected to an imaging module to receive a sequence of pictures. The pictures are read and then analyzed by the filter. Depending on high-level properties, as described in more detail below, each picture is either filtered or not touched before further processing. Figure 1 In the embodiment shown in , a subset of pictures from a sequence is selected; the selected subset of pictures from the sequence is filtered; and the filtered selected subset of pictures and unfiltered pictures not in the selected subset are applied to an encoder to generate an encoded signal. The subset includes at least one picture and does not include all pictures.

[0043] More specifically, in Figure 1 In the embodiment shown in , further processing takes place in a conventional standard hybrid encoder.

[0044] Specifically, each picture output from the temporal filter 102 is passed to a motion compensation block 104 and an intra prediction block 106. Depending on the setting of the multiplexer 108, the output of the motion compensation block 104 or the intra prediction block 106 is passed to a subtractor 110 where it is subtracted from the associated picture output from the temporal filter 102.

[0045] The resulting picture is passed to a transform block 112 and then to a quantization block 114 as is conventional, with the output being passed to an entropy encoder 116 to produce an output that can be stored in the memory 34 or supplied to the transceiver module 40 .

[0046] The encoder also includes a reconstruction path to reconstruct frames for encoding further pictures. Specifically, the output of the quantization block 114 is passed to an inverse quantization block 118 and then to an inverse transform block 120 .

[0047] The output of the motion compensation block 104 or the intra prediction block 106 is passed to a second subtractor 122 where it is subtracted from the output of the inverse transform block 120 and the resulting signal is passed to the intra prediction block 106 .

[0048] The resulting signal is also passed to the device block 124 where the reconstructed frame is written to disk or to a storage device or to a stream and then written to the decoded picture buffer (DPB) block 126 where the frame is stored in memory for later decoding steps and the result is passed to the motion compensation block 104.

[0049] Thus, the video encoder 102 includes what is essentially a temporal denoising filter, and the parameters of the filter 102 are based on the GOP structure and other parameters of the video being encoded.

[0050] As described in more detail below, in filtering that depends on the temporal ID and the quantization parameter, the pixel value is modified by a weighted combination of the pixel value and the values ​​of temporally neighboring pixels.The temporally neighboring pixels are determined by motion compensation.

[0051] Figure 4 It's a picture. Figure 3 A flow chart of the method of operation of the filter 102 is shown in FIG.

[0052] In step 201 of the method, a received picture is read in a generally conventional manner.

[0053] In step 202, it is determined whether the received picture satisfies certain high-level properties. In some embodiments, the picture is selected based on its position in the sequence of pictures. Thus, for example, the high-level properties used as the basis for the determination may be, for example, the POC number of the picture, the number of references to the picture, the position of the picture in the coding hierarchy, or the temporal ID of the picture, such as the reference Figure 2 As shown in the figure.

[0054] If the relevant high-level property is not satisfied, the process proceeds to step 203 and the originally received picture is passed unchanged, ie without filtering.

[0055] If the relevant high-level properties are met, the process proceeds to step 204, where a configurable number of reference pictures before and / or after the selected picture (which is referred to as the original picture below) are read. In edge cases, for example, if the picture is the first or last picture or close to the first or last picture, only the available pictures are read.

[0056] In step 205 , the motion of the reference picture relative to the original picture is estimated on a picture block basis.

[0057] Figure 5 This step is shown in the figure. Specifically, Figure 5 A portion of a picture 150 is shown, where each small square represents a pixel, and the numbers inside the squares represent the luminance and / or chrominance values ​​of the pixel.

[0058] Figure 5 A picture 150 is shown divided into blocks 152, 154, wherein the blocks are separated by thicker lines and each block has a size of 4x4 pixels.

[0059] In one embodiment, subsampling is used to search for larger motions, and interpolation is used to search for smaller motions.

[0060] Figure 6 One possible process of subsampling is illustrated. Specifically, this involves constructing a picture with a lower resolution. Figure 6 The 2×2 pixel block in the upper left corner of the picture 150 is shown to be replaced by a single pixel. Thus, the average of the four pixel values ​​in the original 2×2 block is taken as the value of the single pixel. Thus, 93 is the average of the four pixel values ​​4, 81, 98 and 189.

[0061] exist Figure 4 In step 206 of the process shown in FIG, motion compensation is applied to the reference picture according to the best matching motion of each block, ie, so that the pixel coordinates of the original picture in each block have the best matching coordinates in the referenced picture.

[0062] At step 207, the overall strength of the temporal filter is set. Here, the filter strength may be set based on one or more of the above-mentioned high-level attributes (e.g., the POC number of the picture, the number of references to the picture, or the position of the picture in the coding hierarchy, or the temporal ID of the picture). In other embodiments, the number of pictures per second or any other feature of the configuration may be used to set the overall filter strength.

[0063] At step 208, the pixels of the picture are processed one by one for the luma and / or chroma channels. Thus, at step 208a, it is determined whether there are any more pixels to be processed, and if so, the process moves to step 208b, where the next pixel is processed until there are no further pixels.

[0064] In step 209, the filter strength is further adjusted, for example depending on the quantization parameter, the pixel values ​​in the original picture and the referenced picture, and possibly also on the motion vector length and the number of references to the original picture defined in the GOP.

[0065] The intensity may be set differently for luma and chroma channels.

[0066] Spatially neighboring pixel values ​​can also be taken into account for determining the filter strength.

[0067] In step 210, the filter is applied to the current pixel. The resulting pixel value is stored separately or possibly directly in the original picture, depending on what information is required in step 209.

[0068] At step 211, the filtered picture is forwarded to the next steps in the encoder 100, such as Figure 3 If the picture has not been selected for filtering, the unfiltered picture is forwarded to the encoder.

[0069] The features of a particular implementation are now described in more detail. It will be appreciated that these features can be implemented individually or together in any combination or sub-combination.

[0070] Thus, in Figure 4 In step 202 of the method shown in , a determination is made as to whether a picture is selected based on the number of pictures read. Depending on the specific GOP structure, this determination corresponds to a determination based on a temporal layer or temporal identifier TId.

[0071] Specifically, in one embodiment, if n mod 8 ≠ 0, the frame is not processed further, where n is the number of pictures read. Otherwise, the picture is processed further. Thus, pictures with POC 0, 8, 16, 24, etc. are processed further, and other pictures are passed to the encoder without filtering. Figure 2In the GOP structure shown in , n mod 8 ≠ 0 corresponds to a temporal layer greater than 1. More generally, the determination in step 202 may be performed such that only pictures with a TId equal to or below a threshold level are filtered.

[0072] In step 204, a configurable number of reference pictures can be set to two pictures before the original picture and two pictures after the original picture, and if they are available, they are read. Thus, there are up to four reference pictures. However, there may be less than four reference pictures. For example, when n=0, there is no preceding picture, and therefore there are only two reference pictures.

[0073] At step 207, the overall filter strength is set.

[0074] In some embodiments, the value of the overall filter strength is set based on one or more high-level attributes. For example, the value of the overall filter strength can be set based on the number of pictures read. Depending on the specific GOP structure, this corresponds to a determination based on the time layer or TId.

[0075] For example, if the determination in step 202 causes only pictures whose TId is equal to or below a threshold level to be filtered, the overall filter strength may be set in step 204 such that a first filter strength value is applied to pictures whose TId is equal to the threshold level and a second filter strength value is applied to pictures whose TId is below the threshold level.

[0076] In one example, the overall filter strength s is set according to the following equation o .

[0077]

[0078] Thus, an overall filter strength of 1.5 is applied to the picture with temporal id 0, while an overall filter strength of 0.95 is applied to the picture with temporal id 1.

[0079] Thus, in this example, as described with reference to step 202, if pictures with POC 0, 8, 16, 24, etc. are further processed, an overall filter strength of 1.5 is applied to pictures with POC 0, 16, etc., while an overall filter strength of 0.95 is applied to pictures with POC 8, 24, etc.

[0080] In step 209, a new pixel value is calculated. Specifically, in the illustrated embodiment, the new pixel value is calculated using the following formula: I n .

[0081]

[0082] inI o is the pixel value of the original pixel, I r (i) is the intensity of the pixel corresponding to reference i, and w r (i, a) is the weight of citation i when the number of available citations is a.

[0083] In the brightness channel, the weight w r (i, a) is defined as follows:

[0084]

[0085] in:

[0086]

[0087] For all other cases of i and a:

[0088]

[0089] For the chroma channels, the weights w r (i, a) is defined as follows:

[0090]

[0091] in s c = 0.55 and σ c = 30

[0092] In an alternative embodiment, rather than basing the weights on the squared differences between a pixel and the corresponding pixel in the reference frame, the weights are based on the sum of the squared differences between the region in the current frame and the corresponding region in the reference.

[0093] Thus, as described above, a selected subset of the picture is temporally filtered at the input of the encoder. The filtering is done outside the decoding loop. The filter strength can be adjusted based on the temporal, spatial and intensity differences between pixels and also the quantization parameters.

[0094] Figure 7 is a flow chart illustrating a method for encoding a sequence of pictures.

[0095] The method begins at step 300, where an input including a sequence of pictures is received. At step 302, a subset of pictures from the sequence is selected. The subset contains at least one picture and does not contain all pictures in the sequence. At step 304, the selected subset of pictures from the sequence is filtered. At step 306, the filtered selected subset of pictures and unfiltered pictures not in the selected subset are applied to an encoder to produce an encoded signal.

[0096] Any suitable steps, methods, features, functions or benefits disclosed herein may be performed by one or more functional units or modules of one or more virtual devices. Each virtual device may include several of these functional units. These functional units may be implemented via processing circuits and other digital hardware, the processing circuits may include one or more microprocessors or microcontrollers, and other digital hardware may include digital signal processors (DSPs), dedicated digital logic, etc. The processing circuit may be configured to execute program codes stored in a memory, which may include one or more types of memory, such as read-only memory (ROM), random access memory (RAM), cache memory, flash memory device, optical storage device, etc. The program code stored in the memory includes program instructions for executing one or more telecommunications and / or data communication protocols, and instructions for implementing one or more of the technologies described herein. In some implementations, the processing circuit may be used to cause the corresponding functional units to perform corresponding functions according to one or more embodiments of the present disclosure.

[0097] In another embodiment, there is provided a computer program product comprising a computer readable medium having computer readable code embodied therein, the computer readable code being configured to, when executed by a suitable computer or processor, cause the computer or processor to perform any of the embodiments of the method described herein, such as the above with respect to Figures 4 to 7 Embodiments of the methods described.

[0098] Thus, it will be appreciated that the present disclosure also applies to a computer program, in particular a computer program on or in a carrier, suitable for putting the embodiments into practice. The program may be in the form of source code, object code, a code intermediate source and object code, such as in partially compiled form, or in any other form suitable for use in the implementation of the method according to the embodiments described herein.

[0099] It will also be appreciated that such a program may have many different architectural designs. For example, the program code that implements the functionality of a method or system may be subdivided into one or more subroutines. Many different ways of distributing functionality between these subroutines will be apparent to those skilled in the art. The subroutines may be stored together in an executable file to form a self-contained program. Such an executable file may include computer executable instructions, such as processor instructions and / or interpreter instructions (e.g., Java interpreter instructions). Alternatively, one or more or all of the subroutines may be stored in at least one external library file and, for example, dynamically or statically linked to a main program at runtime. The main program includes at least one call to at least one of the subroutines. The subroutines may also include function calls to each other.

[0100] The carrier of a computer program may be any entity or device capable of carrying the program. For example, the carrier may include a data storage device, such as a ROM (e.g., a CD ROM or a semiconductor ROM) or a magnetic recording medium (e.g., a hard disk). In addition, the carrier may be a transmissible carrier, such as an electrical or optical signal, which may be transmitted via an electrical or optical cable or by radio or other means. When the program is embodied in such a signal, the carrier may be constituted by such a cable or other device or component. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being suitable for executing the relevant method or for the execution of the relevant method.

[0101] By studying the drawings, the disclosure and the appended claims, those skilled in the art can understand and implement changes to the disclosed embodiments when practicing the claimed invention. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a or an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recorded in the claims. The mere fact that certain measures are recorded in mutually different dependent claims does not indicate that a combination of these measures cannot be used to profit. The computer program may be stored / distributed on a suitable medium (such as an optical storage medium or solid-state medium supplied with or as part of other hardware), but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems. Any reference signs in the claims should not be interpreted as limiting the scope.

Claims

1. A method for encoding a sequence of pictures, the method comprising: Receiving an input comprising a sequence of images; selecting a subset of pictures from the sequence; Each picture in the selected subset of pictures from the sequence is filtered by: setting an overall filter strength for the corresponding picture based on one or more attributes of the corresponding picture; as well as Each pixel of the corresponding image is filtered by the following steps: determining a filter strength to be used when filtering corresponding pixels of the corresponding picture by adjusting the overall filter strength set for the corresponding picture, and filtering the corresponding pixel using the determined filter strength for the corresponding pixel; as well as The filtered selected subset of pictures and unfiltered pictures from the sequence of pictures that are not in the selected subset are applied to an encoder to produce an encoded sequence of pictures.

2. The method of claim 1, wherein: Selecting the subset of the pictures includes selecting the subset of pictures based on a position of the pictures in the sequence of pictures.

3. The method of claim 1 or 2, comprising selecting the subset of the pictures based on at least one of: a picture order count (POC) number, a number of references to the picture, a position in a coding hierarchy, or a temporal ID.

4. The method according to claim 1 or 2, wherein: The overall filter strength is set for the corresponding picture depending on at least one of the following items: a picture order count (POC) number of the corresponding picture, a number of references to the corresponding picture, a position of the corresponding picture in a coding hierarchy, and a temporal ID of the corresponding picture.

5. The method of claim 4, wherein: Selecting the subset of pictures comprises selecting pictures according to respective picture order count (POC) numbers of the pictures, and wherein the overall filter strength is set depending on the POC numbers of the pictures, the method comprising: For a picture with a POC value of n, selecting and setting the overall filter strength equal to a first value such that n mod 16 is equal to 0; Otherwise, for the picture with POC value n, selecting and setting the overall filter strength equal to a second value such that nmod8 is equal to 0; and Otherwise, the picture is not selected and is not filtered.

6. The method of claim 1, wherein: For pictures with a first temporal ID, the overall filter strength is set to a first value, and for pictures with a second temporal ID, the overall filter strength is set to a different second value.

7. The method of claim 6, wherein: The first value of the overall filter strength is higher than the second value, and the first time ID is lower than the second time ID.

8. The method according to claim 6 or 7, wherein: Setting the overall filter strength depending on a time ID value, the method comprising: For pictures having a temporal ID equal to 0, setting the overall filter strength equal to a first value; and For pictures having a temporal ID equal to 1, the overall filter strength is set equal to a second value.

9. The method of claim 1, wherein: Filtering each picture in the selected subset of pictures from the sequence further comprises: selecting at least one reference picture associated with the corresponding picture; and Pixel values ​​in the corresponding picture are modified based on corresponding pixel values ​​in the at least one reference picture.

10. The method of claim 9, wherein: The step of modifying pixel values ​​comprises modifying at least one pixel value according to a weighted sum of corresponding pixel values ​​in the at least one reference picture.

11. The method of claim 10, wherein: The weight applied to the pixel value is based on a squared difference between the pixel and a corresponding pixel in the at least one reference picture.

12. The method of claim 10, wherein: The weight applied to the pixel value is based on a sum of squared differences between pixels in a region in the corresponding picture and pixels in a corresponding region in the at least one reference picture.

13. A method as claimed in any one of claims 10 to 12, comprising applying a first weight in the luma channel and applying a second weight in the chroma channels.

14. The method according to any one of claims 9 to 12, wherein: The at least one reference picture includes a predetermined number of pictures before the corresponding picture or a predetermined number of pictures after the corresponding picture or both the predetermined number of pictures before the corresponding picture and the predetermined number of pictures after the corresponding picture.

15. The method of claim 1, 2, 6, 7, 9, 10, 11 or 12, wherein: The encoder comprises a hybrid encoder.

16. A video encoder, comprising: a temporal filter for filtering an input sequence of pictures, wherein the temporal filter is configured to operate according to the method of any one of claims 1 to 15, and An encoder for encoding the filtered sequence of pictures.

17. A computer program product, comprising a computer readable code, wherein the computer readable code contains instructions, which, when executed by a processor, causes the processor to perform the method according to any one of claims 1 to 15.

Citation Information

Patent Citations

  • Multi-layer-multi-reference prediction using adaptive temporal filtering

    US20180184086A1