Video compaction method using decimation patterns in two phases

BR112019020324B1Active Publication Date: 2026-08-11HULU LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112019020324
Authority / Receiving Office
BR · BR
Patent Type
Patents
Current Assignee / Owner
Publication Date
2026-08-11

Smart Images

  • Figure 00000033_0000
    Figure 00000033_0000
  • Figure 00000034_0000
    Figure 00000034_0000
  • Figure 00000035_0000
    Figure 00000035_0000
Patent Text Reader

Abstract

The present invention relates to a method of receiving an image from a video. The image is divided into a first set of first blocks of a first size, and then the first blocks are divided into a second set of second blocks of a second size. The method tests a first set of deciphering patterns for the second set of second blocks on a first block in the set of first blocks to determine if the reconstruction quality of the deciphered second blocks meets a threshold associated with the respective first set of deciphering patterns. Second blocks that meet the threshold are deciphered using the first set of deciphering patterns. Also, the method tests a second set of deciphering patterns for the first block using a second set of deciphering patterns to select one from the second set of deciphering patterns to use for deciphering second blocks that do not meet the threshold.
Need to check novelty before this filing date? Find Prior Art

Description

1 / 25 Video compression method using two-phase decimation patterns. Cross-referencing related requests

[0001] This description claims priority to non-provisional application U.S. No. 15 / 482,653, entitled Video Compression Using Down-Sampling Patterns In Two Phases, filed on April 7, 2017. The entire contents thereof are incorporated herein by reference in their entirety and for all purposes. Background

[0002] Image resolution in video processing and display systems continues to increase. As video quality evolves from standard definition to high definition, and even further to super high definition, the bandwidth and power consumption used in video processing result in a stalemate. For example, increased resolution consumes more network bandwidth and also challenges the performance of internal computer memory communication.

[0003] Many video processing algorithms exploit correlations between frames, meaning the encoder uses information from other frames to compress a current frame. This requires video frames to be stored in memory so that frames can be referenced during video compression. This may require DRAM (high-speed dynamic random access memory) external to the processing unit to store the necessary reference frames. As frame resolution increases, DRAM bandwidth and power consumption result in more severe bottlenecks. More DRAM bandwidth is used to transfer larger frames from memory to the video processing unit. Furthermore, processing larger frames also consumes more power. Brief description of the drawings

[0004] Figure 1 illustrates a simplified system for video compression according to one modality.

[0005] Figure 2 shows an example of an image according to a modality.

[0006] Figure 3A shows an example of decimation patterns for subblocks according to a modality. Petition 870260068539, dated 10 / 07 / 2026, page 5 / 85 2 / 25

[0007] Figure 3B shows an example of a block with less zoom with asterisks where the 3 x 3 patterns were used according to a modality.

[0008] Figure 3C shows an example of the 6 x 6 block in preparation for applying block decimation standards according to a modality.

[0009] Figures 4A to 4C illustrate block decimation patterns that can use different spatial sample configurations at the 6 x 6 block level according to a modality.

[00010] Figures 5A to 5C illustrate examples of applying the three-block decimation patterns according to a modality.

[00011] Figure 6 illustrates a simplified flowchart of a method for encoding a video according to a modality.

[00012] Figure 7 illustrates a simplified flowchart of a method for decoding video streams according to a modality.

[00013] Figure 8 illustrates a simplified flowchart of a method for carrying out a first phase of the adaptive content decimation process according to a modality.

[00014] Figure 9 illustrates a simplified flowchart of a method for carrying out the second phase of the adaptive content decimation process according to a modality.

[00015] Figure 10 illustrates an example of a system for video transmission using the adaptive content decimation process according to a modality.

[00016] Figure 11 illustrates an embedded computer system that uses the adaptive content decimation process according to a modality.

[00017] Figure 12 illustrates a video transmission system communicating with multiple client devices through one or more communication networks according to a modality.

[00018] Figure 13 illustrates a diagrammatic view of a device for viewing video content and advertisements. Detailed description

[00019] Techniques for a video compression system are described here. In the following description, for explanatory purposes, several examples and specific details are established in order to provide a complete understanding of the modalities. Petition 870260068539, dated 10 / 07 / 2026, page 6 / 85 3 / 25 particulars. Specific embodiments, as defined by the claims, may include some or all of the features of the aforementioned examples, individually or in combination with other features described below, and may also include modifications and equivalents of the features and concepts described herein.

[00020] Specific methods provide content-adaptive video compression. The video compression process can first divide an image into blocks of a first size, such as multiple 6 x 6 blocks. Then, the process can further divide each block into sub-blocks of a second size, such as 3 x 3 sub-blocks in a first stage. For example, a 6 x 6 block includes four 3 x 3 sub-blocks. The process then encodes pixels in the sub-blocks using a first set of sub-block decimation patterns and determines whether one of the patterns should be selected for sampling each sub-block. For example, the process calculates a quality metric that measures the quality of the 3 x 3 sub-block reconstruction when using the patterns and compares the quality metric to a threshold to determine if the compression results in a quality that meets the threshold.If the quality reaches the limit, the process will mark the subblock with one of the first sets of decimation patterns of the subblock. This process can be executed for each subblock of the block and also for all blocks of the image.

[00021] After testing the first set of sub-block decimation patterns, the process zooms out to the first block size, such as 6 x 6 blocks, to perform a second phase. Then, a second set of block decimation patterns is used to encode the block. The second set of block decimation patterns applies less compression to the blocks than the first set of sub-block decimation patterns. The second set of block sampling patterns is applied to the entire 6 x 6 block. However, sub-blocks that were encoded using the first set of patterns are not affected by said decimation. Only sub-blocks that were not decimated using the first set of sub-block decimation patterns have pixels selected for decimation during the second phase.The pixels selected using the first set of sub-block decimation patterns or the second set of block decimation patterns are encoded and sent to a decoder. Therefore, if the quality resulting from using the first set of patterns is... Petition 870260068539, dated 10 / 07 / 2026, page 7 / 85 4 / 25 If sub-block decimation is inadequate, then the second set of block decimation patterns can be used to decimate portions of the image. Using the first phase allows some blocks to be further decimated based on the use of the first set of sub-block decimation patterns, but only if the quality is adequate. System

[00022] Figure 1 illustrates a simplified system 100 for video compression according to one embodiment. System 100 includes an encoding system 101 which includes a decimeter 102 and an encoder 104, and a decoding system 105 which includes an enlargement sampler 106, and a decoder 108. In one embodiment, the decimeter 102 and the encoder 104 may be in a server and the enlargement sampler 106 and the decoder 108 may be in a client. In this case, the encoding system 101 may send encoded video over a network, such as a wide area network, to the decoding system 105. In another embodiment, the entities in system 100 may be included in a single computing device. In this case, a computer processor, such as a central processing unit (CPU) or graphics processing unit (GPU), can process the video to be encoded and send the encoded video to another component of the computing device.This type of compression can be referred to as embedded compression (EC) because the compression is occurring within the computing device and is compressed between internal components.

[00023] In one embodiment, the video may be offered by a video delivery service to users who can request the video on demand or view the live video. In other embodiments, the video may be compressed for other reasons, such as for routing the video on a single computing device. The 102 decimeter may receive a video that includes a series of images. Then, the 102 decimeter uses an adaptive content decimation process to adaptively decimate images based on the content being encoded. Decimation may reduce the resolution of the images. For example, the number of pixels in the image may be reduced before it is encoded. This may reduce the image quality, but the amount of information that is encoded and subsequently transferred to the 108 decoder is reduced. Petition 870260068539, dated 10 / 07 / 2026, p. 8 / 85 5 / 25

[00024] In one embodiment, decimation is adaptive based on the image content. As will be discussed below, a two-phase decimation process uses different decimation patterns and different compression levels based on the content of the images. For example, as discussed above, a block can be fractionated into sub-blocks and sub-block decimation patterns for the sub-blocks are tested.

[00025] During the selection of decimation patterns, the 104 encoder encodes the pixels that have been selected for each pattern. The pixels encoded for the patterns selected for the image are output in a bitstream that includes fewer bits compared to if the entire image were encoded. The size reduction is achieved by the fact that the number of pixels that need to be encoded has been reduced by the 102 decimator. In one embodiment, the 104 encoder references decimated images stored in 110-1 storage to perform the encoding. For example, interprediction can use decimated images stored in 110-1 storage to perform the encoding. Particular embodiments reduce the size of images that are encoded and also reduce the bandwidth that is used to retrieve decimated images from 110-1 storage for use in an encoding process.

[00026] Encoder 104 sends the encoded video to the enlargement sampler 106 in the decoding system 105. Additionally, encoder 104 sends secondary information regarding the decimation that was performed. For example, encoder 104 sends secondary information to identify whether subblock decimation was enabled and also to identify the decimation pattern that was used.

[00027] Decoder 108 receives the encoded video and can then decode the encoded images. Enlargement sampler 106 can then perform enlargement sampling of the images using secondary information. Enlargement sampler 106 performs enlargement sampling of the images using secondary information by identifying a decimation pattern used to recover the removed pixels from the images using an interpolation method to interpolate the removed pixels from the existing pixels. In one example, decoder 108 references the enlargement-sampled decoded images that were previously decoded and stored in storage 110-2 when decoding other images. Decimating patterns Petition 870260068539, dated 10 / 07 / 2026, page 9 / 85 6 / 25

[00028] The following describes a decimation process in more detail. Figure 2 shows an example of image 200 according to one modality. Image 200 can be the only image in a video, such as a frame. Although the processing of a single image is discussed, it will be understood that the video includes multiple images and the same processing can be performed for all images. Image 200 includes a number of blocks. In this case, image 200 can include X number of blocks in the horizontal direction and X number of blocks in the vertical direction. Each block can be encoded separately by the 104 encoder.

[00029] The 102 decimeter fractionates the 200 image into (N, N) or N x N blocks in 202. When N x N is used, this is the block size of a block, so a block can be fractionated into six pixel units (e.g., 1 x 1 pixel) horizontally and six pixel units vertically. A pixel unit can be represented by a number of bits. In one embodiment, the 200 image is fractionated into 6 x 6 blocks, meaning that each block is 6 x 6 pixel units in size. This does not mean that the 200 image includes 6 * 6 = 36 blocks.

[00030] A 6 x 6 block in image 200 is shown in 204. Although 6 x 6 blocks are used, it will be understood that other sizes can be used, such as 132 x 132 pixels. The 6 x 6 blocks are a first level of fractionation. Then, the decimator 102 divides each block into P x P size sub-blocks. This further divides the pixels of the 6 x 6 block into smaller blocks, such as the 3 x 3 pixel size. For example, in 206, a single 6 x 6 block is divided into four 3 x 3 sub-blocks 208-1 - 208-4.

[00031] In one mode, smooth areas occupy a large portion of an image. For natural images, most blocks are smooth and have fairly small dynamic ranges. Therefore, sampling patterns with lower sampling rates can be applied to blocks that are smoother. The sampling rate compares the number of pixels selected for encoding with the number of pixels discarded and not encoded. Eliminating a pixel means that the information from that pixel is not encoded and included in the output bitstream. Only the selected pixels are encoded and included in the output bitstream. This allows higher compression ratios to be achieved without much loss of decompression quality. Consequently, particular modes provide decimation patterns for sub-blocks that can provide greater compression. However, there are certain times when these Petition 870260068539, dated 10 / 07 / 2026, page 10 / 85 7 / 25 higher compression decimation standards may not produce adequate quality compared to regular 6x6 block decimation standards. Therefore, particular modalities use a threshold to determine whether or not to use sub-block decimation standards. 6x6 block decimation standards cannot be compared to a threshold, as these standards represent the lowest possible compression available in the process. Instead, one of the 6x6 block decimation standards is selected if pixels still need to be encoded in the image after the first phase.

[00032] In the first phase, each sub-block can be tested using a first set of sub-block decimation patterns for the sub-blocks. Figure 3A shows an example of 302-1 and 302-2 sub-block decimation patterns for the sub-blocks according to one embodiment. In one embodiment, decimation patterns in a ratio of 9:1 and 9:4 are used, although other decimation ratios may be used, such as 9:3 or 9:2. The asterisk shown in a pixel unit indicates that one pixel is used to represent the pixel unit. If the pixel unit is empty, then that pixel is discarded. If fewer pixels are used to represent the 3 x 3 block, then the 3 x 3 block is further reduced and uses less size. However, the quality (e.g., resolution) is lower, and thus the balance between quality and compression achieved is weighted by the 102 decimator.The aforementioned decimation patterns were selected because they represent a balanced pattern under a specific sampling ratio and are statistically more likely to retain fundamental texture information for subsequent decompression. Another 9:4 pattern could select the second pixel in the first row, the first and third pixels in the second row, and the second pixel in the third row. Although these patterns are discussed, other patterns could be used by selecting pixels in other blocks. Also, although two patterns are discussed, only one pattern can be used, or more than two patterns.

[00033] In 302-1, the 9:1 decimation pattern selects one pixel in the center of the 3 x 3 subblock. This provides a compression ratio of 9:1. In 302-2, the 9:4 decimation pattern selects four pixels at the corners of the 3 x 3 subblock. This provides a compression ratio of 9:4. The 9:1 and 9:4 decimation patterns can work well with natural images, and graphic images such as on a computer screen (e.g., a remote desktop system). Petition 870260068539, dated 10 / 07 / 2026, page 11 / 85 8 / 25 of the aforementioned images tend to have smooth textures in most areas where the discarded pixels can be interpolated without much error. Thus, the pixels not included in the bitstream can be more accurately recovered using the pixels that were included in the bitstream due to the similarity of the discarded pixels to the pixels that were encoded.

[00034] In one embodiment, the 102 decimator first tests a first sub-block decimation pattern against a first T1 threshold in a sub-block. For example, the 102 decimator might test the 9:1 decimation pattern in 302-1. To perform the test, the 102 decimator selects the pixel in the center of a sub-block, and the 104 encoder encodes the pixel for the sub-block. The other pixels are discarded and not encoded. Then, the 101 encoding system can recover the sub-block using a decoding process. For example, interpolation is used, such as bi-cubic interpolation, bi-linear interpolation, or other interpolation methods, to interpolate the value of the discarded pixels from a pixel that was encoded.

[00035] Decimator 102 has the original image and can thus compare the recovered subblock to the original subblock to generate a measurement of reconstruction quality (e.g., compression and recovery). Quality can be represented by metrics such as peak signal-to-noise ratio, but other metrics can be used, such as signal-to-noise ratio or mean squared error.

[00036] Decimator 102 then tests the quality measurement against a threshold T1. If Decimator 102 determines that the quality measurement using the 9:1 decimation standard is above the T1 threshold, then that standard is used because it offers the highest compaction. Decimator 102 can mark the sub-block as using sub-block decimation and also which standard is used. If not, then the process proceeds to test other standards.

[00037] If the quality measurement for the 9:1 decimation pattern does not reach the T1 threshold, then the 102 decimator tests another pattern if available, such as the 9:4 pattern shown in 302-2. The second standard sub-block uses four pixels to represent the sub-block that is encoded by the 104 encoder. In one embodiment, said pixels are located at the outer corners of the block, although other pixels may be selected, such as the pixels on one side. The other pixel units do not include the asterisks and are discarded and not encoded. To perform the test, the 102 decimator selects the four pixels in the sub-block and the 104 encoder Petition 870260068539, dated 10 / 07 / 2026, page 12 / 85 9 / 25 encodes the four pixels. Then, the 101 encoding system can recover the subblock using a decoding process as described above and generates a reconstruction quality measurement by comparing the recovered subblock to the original subblock.

[00038] Since this compression ratio is 9:4, it is possible that the quality is higher than the 9:1 compression ratio. The 102 decimeter then tests the quality measurement of the second standard against a threshold T2. The threshold T2 may be the same threshold as T1 or it may be a different threshold. If the 102 decimeter determines that the quality measurement using the 9:4 decimeter standard is above the threshold T2, then said standard is used. The 102 decimeter may mark the sub-block as using sub-block decimeter and also which standard is used if the standard is selected. However, if no sub-block decimeter standard meets the quality threshold, then the sub-block is not represented using either of the two sub-block decimeter standards.

[00039] Once the process is performed for each sub-block 208-1 - 208-4 in block 204, then decimator 102 zooms out to the 6 x 6 block and then performs a second phase with other decimation patterns that are lower-rate patterns from the decimation patterns used for the 3 x 3 sub-blocks. Figure 3B shows an example of a block zoomed out in 204 with asterisks where the 3 x 3 patterns were used according to a modality. For example, some, but not all, sub-blocks were encoded using the sub-block decimation patterns. For example, sub-blocks 208-1 and 208-2 use the 9:1 decimation pattern and sub-block 208-4 uses the 9:4 decimation pattern. The asterisks in the blocks show where pixels are used for encoding the respective sub-blocks, and matrix blocks are pixels that are discarded.

[00040] Sub-block 208-3 does not have a sub-block decimation pattern applied to it, however. It is noted that depending on the first phase, different sub-blocks may have sub-block decimation patterns applied, which also includes all sub-blocks or no sub-blocks. If all sub-blocks use sub-block decimation patterns, then no further block-level analysis is required in the second phase. However, if there is a sub-block that does not have a sub-block decimation pattern applied, then decimator 102 performs the following process in the second phase. Petition 870260068539, dated 10 / 07 / 2026, page 13 / 85 10 / 25

[00041] First, decimator 102 selects a block decimation pattern for the 6 x 6 block for a second set of block decimation patterns. The block decimation pattern is applied to the entire block, but sub-blocks and their respective pixels that were selected in the first process are not affected. Figure 3C shows an example of the 6 x 6 block in preparation for applying the block decimation patterns according to a modality. In a modality, the pixels already encoded in the sub-block encoding phase are not affected by the block encoding phase. However, the recovered pixels must be used in the evaluation of the block decimation patterns since said pixels will be used in the subsequent decoding in decoder 108.Asterisks were added to the blocks in sub-blocks 208-1, 208-2, and 208-3 to represent the decoded pixels that are recovered from an encoding process performed using sub-block decimation patterns. As discussed above, the pixels that were removed can be interpolated. In another embodiment, the original pixels in the image can be used instead of the recovered pixels.

[00042] Block decimation patterns can use different spatial sampling configurations of a parameter as illustrated in Figures 4A to 4C, where N is half the sampling period in pixel units (e.g., 2:1). In other words, every N pixels is sampled and discarded in the horizontal direction. These patterns can also be rotated by 90°. In the patterns, an asterisk indicates that the pixel is sampled and a blank space indicates that the pixel is discarded in the decimation. Figures 4A to 4C show the decimation patterns for N = 1, 2, and 3, but other decimation patterns can be used, such as N = 4 and N = 5. Different sampling patterns may be better suited to different image characteristics. For example, the N = 2 decimation pattern may be able to reconstruct sharp image characteristics much better than the N = 1 decimation pattern.In general, for a larger N, more pulses occur in the spectrum while the magnitude of each new pulse will be decreasing. An N = 4 pattern may be a better choice if vertical edges are present in the image blocks. Also, an N = 4 pattern may also be good if horizontal edges are present and the N = 4 pattern is rotated by 90°.

[00043] In Figure 4A, the block decimation pattern is N = 1, and thus every other pixel is discarded. Block 204 is fractioned into 6 x 6 pixels. Every other pixel is discarded in this case. As can be seen, block 204 is represented by 18 Petition 870260068539, dated 10 / 07 / 2026, page 14 / 85 11 / 25 pixels in the N = 1 decimation pattern. The mentioned decimation pattern requires more pixels than the 9:1 decimation pattern, which required 1 pixel to represent the subblock, and the 9:4 decimation pattern, which required 4 pixels to represent the subblock. If only looking at a subblock for the N = 1 block decimation pattern, then the subblock requires five pixels to represent the subblock. Assuming the 9:1 decimation pattern is used for all four subblocks, then the total number of pixels is four to represent the image, and assuming the 9:4 decimation pattern is used for all four subblocks, then the total number of pixels is 16 to represent the image. Thus, compared to the 18 pixels used to represent the image using the N = 1, 2, and 3 aspect ratios, 9:1 and 9:4 offer more compression.

[00044] In Figure 4B, the N = 2 decimation pattern is shown. This pattern uses 2 pixels for sampling and then eliminates 2 pixels. This pattern repeats horizontally as shown in Figure 4B. Block 204 is thus represented by 18 pixels again.

[00045] Figure 4C shows the N = 3 decimation pattern. The N = 3 decimation pattern samples 3 pixels and then eliminates 3 pixels in the horizontal direction. Block 204 is also represented by 18 pixels again. This pattern is not symmetrical in the sense that some sub-blocks are represented by three pixels and some sub-blocks are represented by six pixels. However, looking at the total number of pixels used, 9:1 or 9:4 provides higher compression. Thus, the N = 1, N = 2, and N = 3 decimation patterns use more pixels to represent block 210 than the 9:4 and 9:1 decimation patterns.

[00046] Decimator 102 can compare block decimation patterns for the 6 x 6 block to determine which provides the highest quality. In a second phase, there is no test of whether the pattern should be used relative to a threshold because the patterns at that level are the lowest possible level of compression in the process. That is, at least one block decimation pattern will be used if the pixels in the sub-blocks still need to be encoded. The threshold test in the first phase was used because there were lower compression block decimation patterns that could be used if the quality resulting from the first phase was not adequate.

[00047] Figures 5A to 5C illustrate examples of applying the three-block decimation patterns according to various modalities. Figure 5A shows the Petition 870260068539, dated 10 / 07 / 2026, page 15 / 85 12 / 25 block decimation pattern N = 1 according to a modality. The dots in the blocks represent the pixels that are selected for the N = 1 pattern. In this case, every other pixel is selected. However, the pixel units with the asterisks have already been encoded using other decimation patterns and are not selected for re-encoding. Instead, only the pixels in the sub-blocks that do not have sub-block decimation patterns applied are selected, as shown in 502-1 in sub-block 208-3. It is noted that although all pixel units in sub-blocks 208-1, 208-2, and 208-3 include asterisks, the encoded bitstream will only include the pixels that were selected by a decimation pattern.

[00048] The pixels corresponding to the points shown in 502-1 in subblock 208-3 will then be encoded by encoder 104. In this embodiment, four pixels are encoded. The pixels in the other subblocks 208-1, 208-2, and 208-4 that were selected using the subblock decimation patterns have already been encoded and are used. Encoding system 101 can then decode the 6 x 6 block and measure the compression quality by comparing the original image with the decoded 6 x 6 image. Decoding subblock 208-3 may need to use pixels from subblocks 208-1, 208-2, and 208-3 to decode the pixels in subblock 208-3. The pixels in sub-blocks 208-1, 208-2, and 208-3 can be recovered pixels or the original pixels. In this case, the pixels in sub-block 208-3 are recovered using the four pixels that were encoded.All pixels for the 6 x 6 image were then recovered and can be compared to the original image to generate a quality measurement of the reconstruction.

[00049] Then, decimator 102 tests the other block decimation patterns. For example, Figure 5B shows the block decimation pattern N = 2. The pixels that correspond to the points shown in 502-2 in sub-block 208-3 will then be encoded by encoder 104. In the present embodiment, four pixels are encoded, but in a different pattern from the N = 1 pattern. Similar to the block decimation pattern N = 1, encoding system 101 can then decode sub-block 208-3 and measure the reconstruction quality by comparing the original image to the decoded 6 x 6 image.

[00050] Figure 5C shows the N = 3 block decimation pattern. The pixels corresponding to the points shown in 502-3 in sub-block 208-3 will then be encoded by encoder 104. In the present embodiment, three pixels are encoded. Similar to the N = 1 block decimation pattern, the 101 encoding system can Petition 870260068539, dated 10 / 07 / 2026, page 16 / 85 13 / 25 then decode sub-block 208-3 and measure the reconstruction quality by comparing the original image to the decoded 6 x 6 image.

[00051] Then, the N = 2 and N = 3 block decimation patterns are rotated 90 degrees and tested. The N = 1 pattern is the same when rotated 90 degrees so it is not used. Although the aforementioned five patterns are used, it will be understood that other patterns may be used, such as N = 4, 5, etc.

[00052] Once the 102-decimator has tested all block decimation patterns, the 102-decimator selects the pattern that provided the highest quality reconstruction of the 6 x 6 block. The 102-decimator will generate secondary information indicating the type of pattern used, such as whether pattern N = 1, N = 2, N = 3, etc., is used. In an example, if the N = 2 block decimation pattern is used, then the 102-decimator generates secondary information indicating that sub-block 2083 uses the N = 2 block decimation pattern. Information indicating that sub-block decimation patterns may not be set in this case. In an example, a flag may be set for a block if sub-block decimation patterns were used and not set if sub-block decimation patterns were not used. Therefore, a first set of bits can be defined to identify the sub-block decimation patterns that are used for each sub-block.If a sub-block does not have a sub-block decimation pattern applied, then a value, such as 00 or no bits, can be used to indicate a sub-block decimation pattern that was not used for that sub-block. Then, a second set of bits can be defined to identify the block decimation patterns that are used for each sub-block. If all sub-blocks used a sub-block decimation pattern, then a value, such as 00 or no bits, can be used to indicate a block decimation pattern that was not used for that block. After that, the bits for the pixels that were encoded can be included in the bitstream. Although this format is described, it will be understood that other formats can be used.

[00053] The 6 x 6 block has already been encoded by encoder 104 in the decimation phases and the output bits for the compressed pixels to the selected patterns can then be sent to decoding system 105. In another embodiment, encoder 104 can re-encode the original 6 x 6 block using the selected sub-block decimation patterns and / or block decimation patterns. Petition 870260068539, dated 10 / 07 / 2026, page 17 / 85 14 / 25 Method Flows

[00054] Figure 6 illustrates a simplified flowchart 600 of a method for encoding a video according to a modality. This is a general method that can be performed for the video. At 602, the decimator 102 receives the video to be encoded. At 604, the decimator 102 decimates the images in the video using the adaptive content decimation process described above. At 606, the decimator 102 generates secondary information based on whether sub-block patterns were used and which sampling patterns were used. At 608, the encoder 104 encodes the decimated images. At 610, the encoder 104 sends the encoded video and secondary information to the decoding system 105.

[00055] Figure 7 illustrates a simplified flowchart 700 of a method for decoding the video stream according to a modality. At 702, the enlargement sampler 106 of the decoding system 105 receives the encoded video. At 704, the decoder 108 decodes the encoded video. At 706, the enlargement sampler 106 identifies the secondary information for the images in the encoded video. The secondary information may be incorporated into the bitstream encoded for the video or in a separate stream. At 708, the enlargement sampler 106 then performs enlargement sampling of the decoded images using the secondary information. For example, the decoded images may be enlarged sampled based on whether sub-blocks were used and the pattern that was used in the blocks is the images. The sampling rate enlargement reproduces the pixels that were removed using interpolation of the pixels that were included in the encoded video stream.

[00056] The specific processes of adaptive content decimation will now be described. Figure 8 illustrates a simplified flowchart 800 of a method for performing a first phase of the adaptive content decimation process according to a modality. In 802, the decimator 102 divides an image into 6 x 6 blocks. In this case, each 6 x 6 block has 6 x 6 pixel units in the image. Then, in 804, the decimator 102 further divides the 6 x 6 blocks into smaller 3 x 3 sub-blocks of 3 x 3 pixel unit size.

[00057] In 806, the 102 decimeter selects a first sub-block decimeter pattern, such as the 9:1 decimeter pattern, and calculates the sub-block reconstruction quality measurement using a decimeter pattern. In 808, the 102 decimeter determines if the quality is above a T1 threshold. If the quality goes beyond Petition 870260068539, dated 10 / 07 / 2026, p. 18 / 85 15 / 25 meets threshold T1, then, in 810, decimeter 102 uses the 9:1 decimeter pattern. Otherwise, in 812, decimeter 102 selects the second decimeter pattern, such as the 9:4 decimeter pattern, and calculates the quality measurement associated with using the 9:4 decimeter pattern. In 814, decimeter 102 compares the quality measurement for the 9:4 pattern against a threshold T2 to determine if the quality meets threshold T2. If the quality meets threshold T2, then in 816, decimeter 102 selects the 9:4 decimeter pattern to use for that subblock. If the quality does not meet the T2 threshold, meaning that the quality for both decimation standards does not meet the quality thresholds, then in 818 the 102 decimator does not associate one of the decimation standards with that sub-block.

[00058] The decimeter 102 determines whether another sub-block in the block needs to be analyzed. If so, the process iterates back to 806 to analyze another sub-block.

[00059] Figure 9 illustrates a simplified flowchart 900 of a method for performing the second phase of the adaptive content decimation process according to a modality. At 902, the decimator 102 zooms out to the 6 x 6 block representation of image 202. At 904, the decimator 102 reconstructs the pixels for the sub-blocks that used the sub-block decimation patterns from the first phase. Then, at 906, the decimator 102 tests the second set of decimation patterns for the 6 x 6 block. For example, decimation patterns N = 1, 2, and 3 are tested. In the test, the decimator 102 records the quality measurement for each block decimation pattern.

[00060] In 908, the 102-decimator compares the quality measurement for each block decimation pattern to determine which pattern performs the best reconstruction. In 910, the 102-decimator selects one of the block decimation patterns that offers the highest quality and also generates secondary information indicating which pattern was selected. The secondary information in this case may not need to indicate which sub-block was used because it was not a standard sub-block.

[00061] In 912, encoder 104 sends the encoded bitstream to decoding system 105 with secondary information indicating the pattern used and whether a sub-block decimation pattern was used. As discussed above, pixels that were encoded using sub-block decimation patterns are not affected by block decimation patterns. Only pixels from the sub Petition 870260068539, dated 10 / 07 / 2026, page 19 / 85 16 / 25 blocks that were not part of the sub-block decimation standards are encoded using the block decimation standards. System Examples

[00062] Particular modes can be used in different systems. For example, particular modes can be used in a media streaming service that transmits media from a server to a client. In another mode, particular modes can be used in an embedded computer system that can encode video from one internal component to another internal component.

[00063] Figure 10 illustrates an example of a system 1000 for video transmission using the adaptive content decimation process according to a modality. A server 1002 can transmit video to a client 1004. The server 1002 includes the encoding system 101 and the client 1004 includes the decoding system 105. The server 1002 can receive the video and encode the video using the adaptive content decimation process. The encoding system 1001 can then send the encoded video and secondary information to the client 1004. The decoding system 1005 can then decode the encoded video and, using the secondary information, provides the encoded video to a media player 1006.

[00064] Figure 11 illustrates an embedded computer system 1100 that uses the adaptive content decimation process according to a modality. A computing device 1102 includes the encoding system 101, the decoding system 105, and the CPU 1104. The encoder 101 can encode the video and provide the encoded video to the decoding system 105 with secondary information. The encoder 104 can receive a decimated image from memory 1106 for use in an encoding process. The images in memory 1106 were decimated using the adaptive content decimation process. The encoding system 101 can send the encoded video via an internal network 1106, such as a BUS, to the decoding system 105.

[00065] Decoding system 105 then decodes the encoded video stream using secondary information. Decoder 108 can also receive an enlarged sampled image from memory 1108 for use in the decoding process. The images in memory 1108 were sampled by Petition 870260068539, dated 10 / 07 / 2026, page 20 / 85 17 / 25 enlargement using the adaptive content decimation process. The video can then be provisioned to the central processing unit (CPU) 1104. Conclusion

[00066] The particular modes described here provide low-complexity video processing in that encoding and decoding can be performed at high speed and do not impede the workflow of a video processor. Also, a much higher reconstruction quality is provided that does not adversely affect the accuracy of video processing between frames. In addition, particular modes provide random access to a code stream to support the block-matching operation between frames found in many video processing tasks. Furthermore, preference is given to decoding, as there are far more read operations than operations between a processor and memory. For example, frequent access to reference frames when performing motion estimation may need to be considered.

[00067] It is very likely that adjacent pixels have similar edge properties and are therefore decimated by the same patterns. This correlation can be exploited by entropy coding as adaptive arithmetic coding. Run coding or Huffman coding can work without significantly increasing the bit rate while decreasing computational complexity. Furthermore, the secondary information sent is very small compared to the encoded bitstream because only a small number of bits are needed to indicate whether sub-block coding is used and which pattern is used. System

[00068] The features and aspects described herein can be implemented in conjunction with a 1200 video transmission system communicating with multiple client devices via one or more communication networks, as shown in Figure 12. Aspects of the 1200 video transmission system are described merely to provide an example of an application to enable the distribution and delivery of content prepared in accordance with the present description. It should be noted that the present technology is not limited to video transmission applications and can be adapted for other applications and delivery mechanisms. Petition 870260068539, dated 10 / 07 / 2026, page 21 / 85 18 / 25

[00069] In one embodiment, a media program provider may include a library of media programs. For example, media programs may be aggregated and delivered through a website (e.g., web site), application, or browser. A user may access the media program provider's website or application and request media programs. The user may be limited to requesting only the media programs offered by the media program provider.

[00070] In the 1200 system, video data can be obtained from one or more sources, for example, from a 1210 video source, for use as input to a 1202 video content server. The input video data may comprise frame-based video data, raw or edited, in any suitable digital format, for example, MPEG (Moving Pictures Experts Group)-1, MPEG-2, MPEG-4, VC-1, H.264 / Advanced Video Coding (AVC), High Efficiency Video Coding (HEVC), or other format. Alternatively, a video may be supplied in a non-digital format and converted to digital format using a digitizer and / or transcoder. The input video data may comprise video clips or programs of various types, for example, television episodes, films, and other content produced as prime content of consumer interest. The video data may also include audio, or only audio may be used.

[00071] The video transmission system 1200 may include one or more computer servers or modules 1202, 1204, and / or 1207 distributed across one or more computers. Each server 1202, 1204, 1207 may include, or may be coupled in operating mode to, one or more data stores 1209, for example, databases, indexes, files, or other data structures. A video content server 1202 may access a data store (not shown) of multiple video segments. The video content server 1202 may serve the video segments as directed by a user interface controller that communicates with a client device. As used herein, a video segment refers to a defined portion of frame-based video data, such as those that may be used in a video transmission session to display a television episode, movie, recorded live performance, or other video content.

[00072] In some modes, a 1204 video advertising server can access a data store of relatively short videos (by Petition 870260068539, dated 10 / 07 / 2026, page 22 / 85 19 / 25 example, 10-second, 30-second, or 60-second video ads) configured as advertising for a specific advertiser or message. The advertising may be provided to an advertiser in exchange for payment of some kind or may comprise a promotional message for the 1200 system, a public service announcement, or some other information. The 1204 video advertising server may serve the video advertising segments as directed by a user interface controller (not shown).

[00073] The 1200 video transmission system may also include the 101 encoding system.

[00074] The video transmission system 1200 may additionally include an integration and transmission component 1207 that integrates video content and video advertising into a video transmission segment. For example, the transmission component 1207 may be a content server or a transmission media server. A controller (not shown) may determine the selection or configuration of advertising in the video transmission based on any suitable algorithm or process. The video transmission system 1200 may include other modules or units not shown in Figure 12, for example, administrative servers, commerce servers, network infrastructure, advertising selection mechanisms, and so on.

[00075] The video transmission system 1200 can connect to a data communication network 1212. A data communication network 1212 can comprise a local area network (LAN), a wide area network (WAN), for example, the Internet, a telephone network, a wireless cellular telecommunications network (WCS) 1214, or some combination thereof or similar networks.

[00076] One or more client devices 1220 may be communicating with the video transmission system 1200 via the data communication network 1212 and / or another network 1214. Such client devices may include, for example, one or more laptops 1220-1, desktop computers 1220-2, smartphones 1220-3, tablets 1220-4, network-enabled televisions 1220-5, or a combination thereof, via a router 1218 to a LAN, via a base station 1217 to a wireless telephone network 1214, or via some other connection. In operation, such client devices 1220 may send and receive data or instructions to the system 1200 in response to user input received from user input devices or other input. In response, the Petition 870260068539, dated 10 / 07 / 2026, page 23 / 85 The 20 / 25 system 1200 can serve video segments and metadata from the data storage 1209 responsive to the selection of media programs for client devices 1220. Client devices 1220 can output the video content from the video streaming segment to a media player using a display screen, projector, or other video output device and receive user input to interact with the video content.

[00077] The distribution of audio and video data can be implemented from the transmission component 1207 to remote client devices via computer networks, telecommunications networks, and combinations thereof, using various methods, for example, streaming. In streaming, a content server continuously transmits audio and video data to a media player component operating at least partially on the client device, which can play the audio and video data simultaneously with receiving the streaming data from the server. Although streaming is discussed, other delivery methods can be used. The media player component can start playing the video data immediately after receiving an initial portion of the data from the content provider. Traditional streaming techniques use a single provider that delivers a data stream to a set of end users.High bandwidth and processing power may be required to deliver a single stream to a large audience, and the provider's required bandwidth may increase as the number of end users grows.

[00078] Media streaming can be delivered on demand or live. Streaming allows immediate playback at any point in the file. End users can skip to the next media file to start playback or change playback to any point in the file. Therefore, the end user does not need to wait for the file to download progressively. Typically, media streaming is delivered from a few dedicated servers with high bandwidth resources via a specialized device that accepts requests for video files and, with information about the format, bandwidth, and structure of said files, provides only the amount of data necessary to play the video file at the speed required to play it. Media streaming servers may also be responsible for the streaming bandwidth and media player resources on the target client. The Petition 870260068539, dated 10 / 07 / 2026, page 24 / 85 The 21 / 25 transmission component 1207 can communicate with the client device 1220 using control messages and data messages to adjust to changes in network conditions as the video is played. These control messages may include commands to activate control functions such as fast forward, rewind, pause, or searching for a specific part of the file on the client.

[00079] Since the 1207 transmission component transmits video data only as needed and at the required rate, precise control can be maintained over the number of streams served. The viewer will not be able to view high data rate videos on a lower data rate transmission medium. However, media streaming servers (1) provide users with random access to the video file, (2) allow monitoring of who is viewing which video programs and for how long they are watching, (3) use transmission bandwidth more efficiently, since only the amount of data needed to support the viewing experience is transmitted, and (4) the video file is not stored on the viewer's computer but discarded by the media player, thus allowing greater control over the content.

[00080] The 1207 streaming component can use TCP-based protocols such as HTTP and Real-Time Messaging Protocol (RTMP). The 1207 streaming component can also provide live and multicast webcasts, allowing more than one client to tune into a single stream, saving bandwidth. Media streaming players may not rely on buffering the entire video to provide random access to any point in the media program. Instead, this is achieved through the use of control messages transmitted from the media player to the media streaming server. Another protocol used for streaming is Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) or Dynamic Adaptive Streaming over HTTP (DASH).The HLS or DASH protocol delivers video over HTTP via a playlist of small segments that are made available at a variety of bitrates, typically from one or more content delivery networks (CDNs). This allows a media player to switch bitrates and content sources, segment by segment. The switching helps compensate for variations in bandwidth. Petition 870260068539, dated 10 / 07 / 2026, page 25 / 85 22 / 25 network bandwidth and also infrastructure failures that can occur during video playback.

[00081] The delivery of video content via streaming can be carried out under a variety of models. In one model, the user pays for viewing video programs, for example, by using a fee to access the media program library or a portion of restricted media programs, or by using a pay-per-view service. In another model, widely adopted by broadcast television soon after its inception, sponsors pay for the presentation of the media program in exchange for the right to display advertisements during or adjacent to the program's presentation. In some models, advertisements are inserted at predetermined times within a video program, which may be called ad slots or ad breaks. With video streaming, the media player can be configured so that the client device cannot play the video without also playing predetermined advertisements during the designated ad slots.

[00082] With reference to Figure 13, a diagrammatic view of a device 1300 for displaying video content and advertisements is illustrated. In selected embodiments, the device 1300 may include a processor (CPU) 1302 operationally coupled to a processor memory 1304, which contains binary code functional modules for execution by the processor 1302. Said functional modules may include an operating system 1306 for handling system functions such as input / output and memory access, a browser 1308 for displaying web pages, and a media player 1310 for video playback. The modules may also include the decoding system 105. The memory 1304 may contain additional modules not shown in Figure 13, for example, modules for performing other operations described elsewhere herein.

[00083] A 1314 bus or other communication component may support information communication within the 1300 device. The 1302 processor may be a specialized or dedicated microprocessor configured to perform particular tasks according to the features and aspects described herein while executing machine-readable software code that defines the specific tasks. The 1304 processor's memory (e.g., random access memory (RAM) or other dynamic storage device) may be connected to the 1314 bus or Petition 870260068539, dated 10 / 07 / 2026, page 26 / 85 Memory 1304, located on the 23 / 25 network, connects directly to the 1302 processor and stores information and instructions to be executed by the 1302 processor. It can also store temporary variables or other intermediate information during the execution of these instructions.

[00084] A computer-readable medium (CRM) in a storage device 1324 may be connected to the bus 1314 and store static information and instructions for the processor 1302; for example, the storage device (CRM) 1324 may store modules 1306, 1308, and 1310 when the device 1300 is switched off, from which the modules may be loaded into the memory of the processor 1304 when the device 1300 is switched on. The storage device 1324 may include a non-transient computer-readable storage medium containing information, instructions, or some combination thereof, for example, instructions which, when executed by the processor 1302, cause the device 1300 to be configured to perform one or more operations of a method as described herein.

[00085] A communication interface 1316 may also be connected to the bus 1314. The communication interface 1316 may provide or support bidirectional data communication between the device 1300 and one or more external devices, for example, the transmission system 1200, optionally via a router / modem 1326 and a wired or wireless connection. Alternatively, or in addition, the device 1300 may include a transceiver 1318 connected to an antenna 1329, through which the device 1300 may wirelessly communicate with a base station for a wireless communication system or with the router / modem 1326. Alternatively, the device 1300 may communicate with a video transmission system 1200 via a local area network, virtual private network, or other network. Alternatively, the 1300 device can be incorporated as a module or component of the 1200 system and communicate with other components via the 1314 bus or some other method.

[00086] The device 1300 can be connected (for example, via the bus 1314 and the graphics processing unit 1320) to a display unit 1328. A display 1328 can include any configuration suitable for displaying information to an operator of the device 1300. For example, a display 1328 can include or utilize a liquid crystal display (LCD), a touch-sensitive display (e.g., capacitive display), a light-emitting diode (LED) display, a projector, or other device. Petition 870260068539, dated 10 / 07 / 2026, page 27 / 85 24 / 25 display to present information to a device user on a visual display screen.

[00087] One or more input devices 1330 (for example, an alphanumeric keypad, microphone, keyboard, remote control, game controller, camera or camera array) may be connected to the bus 1314 via a user input port 1322 to communicate information and commands to the device 1300. In selected embodiments, an input device 1330 may provide or support control over the positioning of a cursor. Said cursor control device, also called a pointing device, may be configured as a mouse, trackball, trackpad, touch screen, cursor direction keys or other device to receive or track physical movements and translate the movement into electrical signals indicating cursor movement. The cursor control device may be incorporated into the display unit 1328, for example, using a touch screen.A cursor control device can communicate direction information and command selections to the processor 1302 and control cursor movement on the screen 1328. A cursor control device may have two or more degrees of freedom, for example, allowing the device to specify cursor positions in a plane or three-dimensional space.

[00088] Particular embodiments may be implemented in a non-transient, computer-readable storage medium for use by, or in connection with, the instruction-executing system, apparatus, system, or machine. The computer-readable storage medium contains instructions for controlling a computer system to execute a method described by particular embodiments. The computer system may include one or more computing devices. The instructions, when executed by one or more computer processors, may be configured to execute what is described in particular embodiments.

[00089] As used in the description herein and in all subsequent claims, a, an, and the include plural references unless the context clearly indicates otherwise. Furthermore, as used in the description of this document and in subsequent claims, the meaning of in includes in and on, unless the context clearly indicates otherwise.

[00090] The description above illustrates various modalities along with examples of how aspects of particular modalities can be implemented. The Petition 870260068539, dated 10 / 07 / 2026, p. 28 / 85 The 25 / 25 examples and embodiments above should not be considered the only embodiments and are presented to illustrate the flexibility and advantages of specific embodiments, as defined by the following claims. Based on the description above and the following claims, other arrangements, embodiments, implementations, and equivalents may be employed without departing from the scope of this document, as defined by the claims. Petition 870260068539, dated 10 / 07 / 2026, page 29 / 85

Claims

1 / 7 CLAIMS 1. A method characterized in that it comprises: receiving, by a computing device (1102), an image (200) from a video; dividing, by the computing device (1102), the image (200) into a first set of first blocks (204) of a first size; dividing, by the computing device (1102), the first blocks (204) in the first set of first blocks into a second set of second blocks (208) of a second size;test, by the computing device (1102), a first set of decimation patterns (302-1, 302-2) that reduces a first number of pixels that are encoded for the second set of second blocks (208) in a first block (204) in the set of first blocks to determine if a reconstruction quality of the decimated second blocks meets a threshold associated with the respective first set of decimation patterns (302-1, 302-2), wherein the second blocks (208) that satisfy the threshold are decimated using the first set of decimation patterns (302-1, 302-2);when one or more second blocks (208) do not meet the threshold, test, by the computing device (1102), a second set of decimation patterns that reduce a second number of pixels that are encoded for the one or more second blocks (208) to select one from the second set of decimation patterns to use to decimate the one or more second blocks (208) that do not meet the threshold; and send, by the computing device (1102), an encoding of the first block (204) to the image (200) based on the first block (204) being decimated using at least one from the first set of decimation patterns (302-1, 302-2) and at least one from the second set of decimation patterns.

2. Method, according to the claim, characterized in that testing the first set of decimation patterns (302-1, 302-2) comprises: Petition 870260068539, dated 10 / 07 / 2026, page 30 / 85 2 / 7 testing a first decimation pattern (302-1) in the first set of decimation patterns (302-1, 302-2) for a second block (208) in the set of second blocks (208); determining whether the reconstruction quality for the second block (208) using the first decimation pattern (302-1) meets a first threshold (T1); and if the first threshold (T1) is reached, using the first decimated pattern (302-1) for the second block (208).

3. Method, according to the claim, characterized in that testing the first decimation pattern (302-1) comprises: selecting a first subset of pixels in the second block (208) according to the first decimation pattern (302-1); and encoding the first subset of pixels to represent the second block (208).

4. Method, according to the claim, characterized in that testing the first decimation pattern (302-1) comprises: recovering a second subset of pixels in the second block (208) that were not encoded using the first subset of pixels; and decoding the first subset of pixels and the second subset of pixels to represent the second block (208).

5. Method, according to claim 4, characterized in that testing a first decimation pattern (302-1) comprises: measuring the reconstruction quality by comparing the first subset of decoded pixels and the second subset of pixels to a portion of the image (200) received in the video.

6. Method, according to the claim, characterized in that when the first threshold (T1) is not reached, perform: test a second decimation pattern (302-2) on the first set of decimation patterns (302-1, 302-2) for the second block (208); Petition 870260068539, dated 10 / 07 / 2026, page 31 / 85 3 / 7 determine if the reconstruction quality for the second block (208) using the second decimation pattern (302-2) meets a second threshold (T2); and if the second threshold (T2) is reached, use the second decimation pattern (302-2) for the second block.

7. Method, according to the claim, characterized in that testing the second set of decimation patterns comprises: comparing the second set of decimation patterns to select one from the second set of decimation patterns; and using one from the second set of decimation patterns for the one or more second blocks (208) that were not decimated using the first set of decimation patterns (302-1, 302-2).

8. Method according to claim 7, characterized in that testing the second set of decimation patterns comprises: decoding a first subset of pixels in one or more second blocks (208) that were encoded using the first set of decimation patterns (302-1, 302-2); and recovering a second subset of pixels that was not encoded using the first subset of pixels.

9. Method according to claim 8, characterized in that it further comprises: applying the second set of decimation patterns to pixels in one or more second blocks (208) that were not decimated using the first set of decimation patterns (302-1, 302-2); and applying one of the second set of decimation patterns to select a first subset of pixels for one or more second blocks (208) that were not decimated using the first set of decimation patterns (302-1, 302-2).

10. Method according to claim 9, characterized in that it further comprises: Petition 870260068539, dated 10 / 07 / 2026, p. 32 / 85 4 / 7 decoding a third subset of pixels in one or more second blocks (208) that were not decimated using the first set of decimation patterns (302-1, 302-2); and recovering a fourth subset of pixels in one or more second blocks (208) that were not decimated using the third subset of pixels.

11. Method, according to claim 10, characterized in that it further comprises: measuring the quality of the reconstruction by comparing the first subset of pixels, the second subset of pixels, the third subset of pixels and the fourth subset of pixels to a portion of the image (200) received in the video.

12. Method characterized in that it comprises: receiving, by a computing device (1102), an image (200) from a video; dividing, by the computing device (1102), the image (200) into a first set of first blocks (204) of a first size; dividing, by the computing device (1102), the first blocks (204) in the first set of first blocks into a second set of second blocks (208) of a second size;test, using the computing device (1102), a first set of decimation patterns (302-1, 302-2) for the second set of second blocks (208) in a first block (204) in the set of first blocks (204) to determine if a reconstruction quality of the decimated second blocks (208) meets a threshold associated with the respective first set of decimation patterns (302-1, 302-2), wherein the second blocks (208) that meet the threshold are decimated using the first set of decimation patterns (302-1, 302-2); test, using the computing device (1102), a second set of decimation patterns for the first block (204) using a second set of decimation patterns to select one from the second set of decimation patterns to use to decimate the second blocks (208) that do not meet the threshold;and Petition 870260068539, of 10 / 07 / 2026, page 33 / 85 5 / 7 send, by the computing device (1102), an encoding of the first block (204) for the image (200) based on the first block (204) being decimated using at least one of the first set of decimation patterns (302-1, 302-2) and at least one of the second set of decimation patterns, wherein the first block (204) is encoded during the test of the first set of decimation patterns (302-1, 302-2) and the test of the second set of decimation patterns.; 13. Method according to claim 1, characterized in that: the first set of decimation patterns (302-1, 302-2) has a compression greater than half of a pixel sample; and the second set of decimation patterns has a compression less than the first set of decimation patterns (302-1, 302-2).

14. Method according to claim 1, characterized in that the first set of decimation patterns (302-1, 302-2) has a compression ratio of 9:4 (302-2) and a compression ratio of 9:1 (302-1).

15. Method according to claim 1, characterized in that the first set of decimation patterns (302-1, 302-2) includes a pattern (302-2) that encodes pixels in four corners of the second set of blocks (208).

16. Method according to claim 1, characterized in that the first set of decimation patterns (302-1, 302-2) includes a pattern (302-1) that encodes a single pixel in a center of the second set of blocks (208).

17. Non-transient computer-readable storage media, characterized in that it contains instructions which, when executed, control a computer system to be configured to: receive an image (200) from a video; divide the image (200) into a first set of first blocks (204) of a first size; divide first blocks (204) in the first set of first blocks (204) into a second set of second blocks (208) of a second size;Petition 870260068539, dated 10 / 07 / 2026, p. 34 / 85 6 / 7 test a first set of decimation patterns (302-1, 302-2) that reduce a first number of pixels that are encoded for the second set of second blocks (208) in a first block (204) in the set of first blocks (204) to determine if the reconstruction quality of the decimated second blocks (208) meets a threshold associated with the respective first set of decimation patterns (302-1, 302-2), where second blocks (208) that satisfy the threshold are decimated using the first set of decimation patterns (302-1, 302-2); when one or more second blocks (208) do not meet the threshold, test a second set of decimation patterns that reduce a second number of pixels that are encoded for the one or more second blocks (208) to select one from the second set of decimation patterns to use to decimate the one or more second blocks (208) that do not meet the threshold;and send an encoding of the first block (204) to the image (200) based on the first block (204) being decimated using at least one of the first set of decimation patterns (302-1, 302-2) and at least one of the second set of decimation patterns.; 18. Method characterized in that it comprises: receiving, by a computing device (1102), an image (200) from a video; dividing, by the computing device (1102), the image (200) into a first set of first blocks (204) of a first size; dividing, by the computing device (1102), first blocks (204) in the first set of first blocks (204) into a second set of second blocks (208) of a second size; encoding, by the computing device (1102), a first portion of second blocks (208) into a first block (204) using a first set of decimation patterns (302-1, 302-2) when the reconstruction quality of decimated second blocks (208) meets a threshold for the respective first set of decimation patterns (302-1, 302-2); Petition 870260068539, dated 10 / 07 / 2026, page.35 / 85 7 / 7 when the reconstruction quality of a second portion of second blocks (208) does not reach the threshold for the respective first set of decimation patterns (302-1, 302-2), encode, by the computing device (1102), the second portion of second blocks (208) using a second set of decimation patterns for the first block (204), wherein the second set of decimation patterns is applied to the first size of the first block (204); and send, by the computing device (1102), an encoding of the first block (204) based on the first portion being encoded by at least one of the first set of decimation patterns (302-1, 302-2) and the second portion being encoded by at least one of the second set of decimation patterns.

19. Method according to claim 18, characterized in that the first set of decimation patterns (302-1, 302-2) is applied to the second size of the second blocks (208).

20. Method according to claim 18, characterized in that the second set of decimation patterns is applied to the first size of the first blocks (204) and does not encode any part of the first portion of the second blocks (208). Petition 870260068539, dated 10 / 07 / 2026, p. 36 / 85