System and method for signal encoding and decoding using entropy minimization core based transforms

By adopting transformation technology based on the entropy minimization kernel in image, video and audio modes, the problem of coding algorithms designed for human consumption in the prior art is solved, efficient coding and low entropy transformation of signals are realized, and encoding efficiency is improved.

CN119563325APending Publication Date: 2025-03-04OP SOLUTIONS
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202380053363.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-17
Filing Date
2023-05-16
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

The prior art encoding algorithms in image, video and audio modes are usually designed for human consumption, which is difficult to meet the needs of machine processing, and the entropy of the encoded signal is large, resulting in low encoding efficiency.

Method used

Using transformation technology based on the entropy minimization core, the input signal is converted into an equivalent signal with the minimum entropy through the converter module, and a compressed bit stream suitable for transmission of the communication channel is generated using the compressor module.

Benefits of technology

The transformation of the signal from the original linear space to a linear space suitable for machine processing is realized, reducing the entropy of the signal, thereby improving the encoding efficiency and reducing the storage and transmission costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119563325A_ABST
    Figure CN119563325A_ABST
Patent Text Reader

Abstract

A system for encoding and decoding signals, such as pictures and video, intended for machine use is disclosed. The encoder implements a method for kernel-based transformation of signal samples that reduces and preferably minimizes the entropy of the input signal, but is still equivalent to the input signal for expected machine operation. Accordingly, the transformed signal samples may be compressed using fewer bits than the original samples. The encoded signal is received by a complementary decoder and decoded for use by a machine.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Application Serial No. 63 / 342,789, filed on May 17, 2022, entitled “Systems and Methods for Picture and Video Coding with Entropy-minimizing Kernel-based Transformation,” the disclosure of which is incorporated herein by reference in its entirety. Background Art

[0003] Signals of various modalities are used to send information from a data source (such as a sensor) to a remote receiver. Examples are visual signals recorded by a camera, audio signals recorded by a microphone, and signals usually recorded by a device and sent to an end user. With the advancement of Internet of Things (IoT) technology, the scope of such devices has increased. On the receiver side, the end user can be a human or an automated system implemented by a machine. Various coding techniques are used to send signals from a sensor to a receiver in an optimized manner. In order to select an appropriate coding technique, the characteristics of the communication channel (such as bandwidth), energy consumption constraints (such as battery status), receiver fidelity standards (such as the quality of the received signal), etc. can be considered.

[0004] Recently, the type of end-user at the receiving end has shifted from primarily human use to machine use. The proliferation of edge devices and more supportive communication networks such as 5G and 6G allow for wider implementation of systems such as the Internet of Things and autonomous systems in general. Some areas such as image and video coding have increased the need for systems that support automatic analysis of signals by machines at the receiver end, as reflected in standardization efforts such as video coding and JPEG AI for machines.

[0005] One of the drawbacks of current coding techniques, particularly in image, video and audio modalities, is that the coding algorithms are typically designed for human consumption. For example, visual signals are quantized so that higher frequencies are discarded because, in a simplified description, the human visual system does not process signals outside a narrow frequency band. Audio signals are typically processed similarly. However, the processing techniques implemented for machines are different from the simplified processing techniques associated with the human brain. Most machine processing techniques include transforming the coded signal samples by using linear operations implemented by filters (also called kernels).

[0006] The purpose of this operation is to transform the encoded signal samples from the original linear space (such as image space) into a linear space suitable for the machine to complete the task. One such example is to transform the input picture into a higher dimensional space through a neural network, and finally into a low dimensional decision space. For example, the input picture is transformed from pixel space to a higher dimensional manifold in which the neural network can find the separation boundaries between different types of objects, which results in an output vector that identifies one or more categories of objects present in the picture. Summary of the invention

[0007] An encoder for encoding a signal using a transform based on an entropy minimization kernel, well suited for encoding a signal for machine use, includes a transformer module and a compressor module. The transformer module applies a set of transform kernels for a given machine task and determines a transform equivalent of an input signal characterized by reduced entropy. The compressor module receives the transformed signal and generates a compressed bit stream for transmission over a communication channel.

[0008] In some embodiments, the transform kernel is an mxm matrix. The process of determining the transform equivalent of the input signal may also include the operation of expanding each mxm transform matrix into a one-dimensional vector and stacking the transform vectors into a single transform matrix. The input signal may be divided into mxm signal patches, and each mxm signal patch may be expanded into a one-dimensional signal vector. The transform module uses the transform matrix to determine a result vector r for each signal vector, and for each result vector, according to t=K T (KK T ) -1 r to determine the transformation signal, where K T is the transpose of the transformation matrix.

[0009] In some applications, the signal is video. The kernel typically depends at least in part on a machine model of the machine task, and it may be supplied to the transformer locally or remotely. The kernel may comprise, for example, a set of Sobel operators or convolution matrices.

[0010] The compressor will compress the transformed signal using a compression algorithm which may be in the form of a known compression standard such as VVC, HEVC, AV1, etc. The compressed signal will be received by a compatible decoder which can decode the transformed signal and provide it to the machine. The method is also suitable for hybrid applications where the compressed bitstream includes the transformed signal for machine consumption and the original signal for human consumption. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 is a simplified block diagram of a system including an encoder and a decoder;

[0012] Figure 2 is a flow chart illustrating a method for entropy minimization signal compression;

[0013] Figure 3A and Figure 3B is a schematic diagram illustrating an exemplary Sobel 3x3 kernel matrix;

[0014] Figure 4A , Figure 4B , Figure 4C and Figure 4D is a schematic diagram illustrating an exemplary 3x3 convolution kernel matrix;

[0015] FIG. 5A to FIG. 5C The illustration shows the expansion and stacking of the two 3x3 Sobel kernels of Figure 3;

[0016] FIG. 6A to FIG. 6C are pictures illustrating examples of a 3x3 image block sample matrix and a corresponding matrix transformed with Sobel samples and convolution samples, respectively;

[0017] Figure 7 The diagram shows a 3x3 image patch "unfolded" into a 9x 1 image vector;

[0018] FIG. 8A to FIG. 8C The test image and the result image after Sobel transform and convolution transform are respectively illustrated;

[0019] 9A to 9C They are FIG. 8A to FIG. 8C an enlarged portion of the image in ; and

[0020] FIG. 10A to FIG. 10C is a graph illustrating a histogram of sample entropy in an original image, an image processed using a Sobel transform, and an image processed using a convolution transform. DETAILED DESCRIPTION

[0021] exist Figure 1 An exemplary system including an encoder 105 and a decoder 110 is depicted in . An input data stream such as a picture or video is taken as input to the encoder and applied to a preprocessor 115, which converts the input picture / video into a format suitable for machine consumption, such as converting color space, reducing frame rate, rescaling resolution, etc. Although video is described as the primary application, it should be understood that other input data streams (such as audio, radar, lidar, machine sensor data, etc.) can also be processed using the present method. The output of the preprocessor 115 is passed to a transformer unit 120 and optionally also to a compressor unit 125.

[0022] The transformer unit 120 receives the converted picture / video data and applies a sample level transform, which is described in more detail herein. The transform is based on the kernels used by the machine to process the picture / video and may be stored at the encoder or signaled by the machine model component using a communication channel.

[0023] The compressor unit 125 receives the transformed samples of the picture / video and further encodes them using statistical coding or higher-level coding standards for picture and video encoding. For example, any number of known compression standards (such as HEVC, VVC, AV1, etc.) and standards optimized for video encoding used by machines (e.g., Video Coding for Machines and JPEG Al) can be used to perform the process. In addition to the transformed samples, in some embodiments, the compressor 125 can also receive the converted picture / video as input and encode the difference between the converted picture / video and the transformed sample. This allows the decoder 110 to reconstruct the transformed representation of the input picture / video and the converted picture / video in the pixel domain representation.

[0024] Transformer 120 and compressor 125 are preferably interconnected with a bidirectional communication link, which is used to further optimize compression. For example, in some cases, compressor 125 can better compress the following transformations, which are not optimal in the sense of entropy minimization, but are more suitable for compression due to the design of compressor 125. In this case, transformer 120 can send an alternative transformation that causes better compression to compressor 125. The best transformation in terms of compression can be found by using a search of transformation variants or by utilizing standard optimization techniques such as genetic algorithms. The output of compressor 125 is provided to multiplexer (muxer) 130.

[0025] Multiplexer 130 takes the output of compressor 125 and converts it into a bitstream that is sent to decoder 110. Multiplexer 130 may add metadata to the bitstream that describes transform parameters and additional information about machine tasks, kernels, etc. Alternatively, the output of transformer 120 may be sent directly to multiplexer 130, thereby bypassing compressor 125. This approach may be useful in a variety of use cases, such as when encoder 105 is implemented on a device with limited computational power or limited power usage, or when the device implementing encoder 105 is in a reduced operating regime. The computational complexity of such an encoder 105 is greatly reduced at the expense of an uncompressed bitstream.

[0026] The bitstream 135 containing the compressed picture / video as payload data and associated metadata is sent to the decoder 110 which takes the bitstream 135 as input and processes it through the following components:

[0027] Demultiplexer 140 takes bitstream 135 and demultiplexes (demux) it into components that can be read / parsed by decompressor 145 .

[0028] Decompressor 145 obtains payload data and metadata, and reconstructs the picture / video using a sequence of operations that are the inverse operations of encoder 105 operations. For example, if a VVC compatible encoder is used to encode a bitstream, a VVC compatible decoder will be used to decode the bitstream. Decompressor 145 can be implemented as a simple statistical decoder, or a more complex picture / video decoder that complies with the coding standard. Decompressor 145 can also obtain inputs from machine model 150 indicating which pictures or parts of the video should be reconstructed based on metadata and the current machine state. In the case of a scalable layered bitstream, decompressor 145 preferably first reconstructs the base layer representing the compressed transformed samples, and then or simultaneously adds the remaining information required for reconstructing the pixel domain representation. The pixel domain representation can be used by another machine, or by the current machine for a separate task. It can also be used by a human end user.

[0029] In addition to the encoder 105 and decoder 110, the system may also include one or more machine models 150 that may be used to update the transformer 120 and decompressor 145. This may be accomplished by sending information that may be used to update task-related parameters and kernel parameters associated with the current machine state.

[0030] Transformation method

[0031] Transformer 120 operates to transform an image from a pixel space typically used by human consumers to a linear space suitable for a particular machine task and preferably exhibiting minimum entropy. Images are typically processed in small portions of pixels called image patches, which are transformed by applying appropriate kernel and matrix operations to obtain an equivalent transformed representation with minimum entropy.

[0032] A two-dimensional input signal (eg, an image or video frame, or any portion of an image or video frame) can be represented as a one-dimensional vector s by arranging samples (eg, pixel values) into an array by scanning the samples in a certain order.

[0033] To process an input signal, computer vision, signal processing, machine learning or any similar algorithm uses so-called kernels or filters, multiplying or convolving the input signal with the kernel to produce a result that represents a transformed input signal in a more appropriate and useful space, which may have the same or different dimensions as the input signal.

[0034] In many cases, the input signal s is multiplied by more than one kernel. Here, for example, a one-dimensional kernel k is arranged into a two-dimensional matrix K. The result of processing the input signal s with the kernel K is a one-dimensional output r. This result can then be used to make decisions through higher-level aspects of the processing algorithm, such as but not limited to object detection, object recognition, tracking, segmentation, etc.

[0035] Since the signal s is usually sent from one end of the implementation system (such as a camera) to the other end (such as a central server), the size of the signal is an important constraint in the system design in terms of storage and bandwidth limitations. It would be beneficial to compress the signal or find a smaller transform of it. Such a transformed signal t would ideally be smaller than s, and in addition, it would give the same result r when processed by the kernel K.

[0036] The best candidate for the transformed signal t is the one that is equivalent to s in terms of the kernel transform and has the minimum entropy. Minimum entropy is desirable because compression of such a signal results in a minimum bitstream. For discrete signal samples, under most common conditions, the minimum entropy representation can be considered equivalent to the minimum variance representation with a mathematical closed form solution.

[0037] Given a set of kernels represented as a matrix K and input signal samples represented as a vector s, the result r of the linear operation of K on s can be obtained by the following system:

[0038] Ks=r. (1)

[0039] This method can be implemented when either s or r and K are known. This involves finding a transformation vector t that is equivalent to s in terms of kernel operation, such that:

[0040] Kt=r. (2)

[0041] In addition to the equivalence requirement, there is an additional constraint to find a solution t with minimum entropy. For discrete signal samples, the minimum entropy solution can be considered equivalent to the minimum variance solution, which has a closed form solution to the linear system (2) given by:

[0042] t=K T (KK T ) -1 (r-Kuα)+uα, (3)

[0043] Where u=(1,1,…,1)T is a unit constant column vector, and α is given by:

[0044]

[0045] If Ku = 0, then the minimum square error solution is the same as the simpler minimum norm solution, which is:

[0046] t=K T (KK T ) -1 r (4)

[0047] Where K T is the transpose of the matrix K. T In the case when it is not reversible, the Moore-Penrose pseudo-inverse can be used to obtain the solution t. In the case when only a single kernel k is used, the solution is of the form t=r / k.

[0048] Using this method of finding t for a given signal s, we obtain a representation of the input signal that can be compressed to a smaller size than s, resulting in a smaller bitstream and reduced storage and transmission costs, while being otherwise identical for machine applications.

[0049] The technique can be implemented as part of an encoder 105 in a system for sending signal samples to a decoder 110. It can also be implemented as a preprocessor for some existing encoders, particularly encoders that rely on statistical coding and information theory techniques. For transformed signal samples with lower entropy than the original signal samples, such encoders typically require fewer bits. Examples of such encoders are lossless and lossy image encoders supported by families of formats such as JPEG, PNG, and BMP, and video encoders such as AVC, HEVC, VVC, AV1, etc.

[0050] Figure 2 is a flow chart illustrating the present method of minimizing entropy coding. For example, in step 205, transformer 120 may obtain an appropriate set of transform kernels for a machine task from machine model 150. This may include, for example Figure 3A and Figure 3B A set of two 3x3 Sobel X and Y kernels as shown in or 4A to 4D Although the kernels in Figures 3 and 4 are depicted as 3x3 kernels, this is merely illustrative and other mxm kernel sizes may be appropriately applied for machine tasks.

[0051] like FIG. 5A to FIG. 5CAs shown, in order to obtain the kernel matrix (K) of the set of two Sobel kernels in Figure 3, each 3x3 kernel is "expanded" into a 1x9 (1 row, 9 columns) vector in step 210. In step 215, these expanded vectors ( Figure 5A , Figure 5B ) are stacked into an X x(mxm) matrix ( Figure 5C ), which produces the 2x9 matrix of the 3x3 Sobel operator in Figure 3, as Figure 5C As shown. In this example, the 3x3 matrix is ​​"unrolled" by starting at the top left and moving back and forth in a zigzag pattern. However, the specific method of unrolling the matrix is ​​not critical. It should be understood that a similar process can be used in the case of a collection of convolution kernels as shown in Figure 4, which will produce a 9x4 matrix of convolution kernels.

[0052] The size of the kernel can vary based on the specific application or machine task, but the image will be parsed and processed in tiles corresponding to the kernel size. For example, in the case of the Sobel kernel of FIG. 3, the image will be processed in 3x3 tiles. In a similar manner to how the kernel is "unfolded", in step 220, each 3x3 tile of the input picture is "unfolded" into a 9x 1 (9 rows, one column) vector of pixel values. Figure 7 The image shows "Expand" Fig. 6A In step 225, transformer 120 determines a result r from the kernel matrix and the unfolded image block by applying equation (1) (Ks=r).

[0053] To determine the entropy minimizing transformed samples of the image, the transformed image t is obtained using equation (4) above (step 230). The transformer 120 passes the transformed image data t to the compressor 125 and the multiplexer 130 (step 235).

[0054] Example

[0055] As an example, the method is applied to the well-known and frequently used test picture "cameraman", which is transformed based on two sets of kernels. Fig. 8A A reproduction of the original image is presented in .

[0056] Consider two use cases. The first use case involves a machine that uses a computer vision algorithm to perform edge detection in a picture. It implements the Sobel operator for edge detection and orientation statistics. In this example, the Sobel operator is implemented as two kernels, one for horizontal x-direction orientation and one for vertical y-direction orientation. Figure 3A and Figure 3BThose kernels are depicted in . The kernel in this example is a 3x3 matrix that is convolved with the original image to produce an edge map that can be binarized and used for edge detection.

[0057] The second exemplary use case involves machines that use convolutional neural networks to process input images and perform tasks such as object detection, classification, segmentation, tracking, etc. Typically, since the transformation technique considers the convolution kernels of the first layer of the CNN, the high-level tasks are irrelevant and agnostic to higher-level processing. As an example of a typical convolution kernel [4], the kernel depicted in Figure 4 can be used.

[0058] The method is not limited to a particular number of cores, core sizes, or types of cores used. The exemplary use of well-known and commonly used cores in Figures 3 and 4 is intended only to illustrate the utility of the method and is not intended to be limiting.

[0059] As described above, to obtain the kernel matrix (K), the kernel is "unfolded" into a 1x9 vector and stacked into a 2x9 matrix for the Sobel operator and a 4x9 matrix for the example of four 3x3 convolution kernels. Each 3x3 tile of the input picture is then "unfolded" into a 9x1 vector of pixel values. The result r is obtained using equation (1), and the entropy-minimizing transformed sample t is obtained using equation (4). The transformed sample t is then compressed and sent through the channel to the decoder 110, where it is decompressed and provided to the machine.

[0060] exist FIG. 6A to FIG. 6C An example of an input 3x3 patch and the transformed samples of the Sobel kernel and the convolution kernel are depicted in.

[0061] Even before calculating the entropy for a given example, it can be observed that the structure and repeatability of the values ​​in the transformed samples are more ordered than in the original samples. For the machine in the first use case, applying the Sobel operator to the original 3x3 samples results in the same values ​​as when the Sobel operator is applied to the transformed samples. This is also the case for the convolved samples.

[0062] In summary, a sample of the image (a 3x3 tile in this case) gives a single value (from equation 1) when convolved with a 3x3 kernel. An inverse matrix multiplication is used to find another 3x3 tile with the minimum entropy (variance) that will give the same value when convolved with that kernel (using equations 2-4). Instead of compressing / sending the original 3x3 tile of pixels, a lower entropy tile is compressed / sent. The machine takes that tile and convolves it with the 3x3 kernel, giving the same value as if it were using the original tile.

[0063] When all tiles in the image have been processed, the resulting transformed image looks like this: FIG. 8A to FIG. 8C As shown, FIG. 8A to FIG. 8C The figure shows the original test image ( Fig. 8A ), for the image transformed by Sobel kernel ( Figure 8B ) and the image transformed by the convolution kernel ( Figure 8C ). Fig. 8A The images in are suitable for human observers. Figure 8B The image in is equivalent to the original image for a machine using the Sobel operator / kernel, i.e., the two images are indistinguishable and identical for such a machine. In the case of a machine using a convolution kernel, for Figure 8C The same is true for the pictures in .

[0064] To emphasize the visual difference, 9A to 9C The FIG. 8A to FIG. 8C Magnified portion of the image in .

[0065] To illustrate the effect of this method, the entropy of the original and transformed images can be calculated as the average entropy of 3x3 patches.

[0066] The resulting entropy is shown in the following table:

[0067] Original Image After Sobel transformation After convolution transformation Average Entropy 2.42 1.28 1.42

[0068] By using the methods disclosed herein, the signal sample entropy is reduced by almost 50% for the Sobel operator / kernel and by more than 40% for the convolution kernel. A histogram of the entropy values ​​for all 3x3 tiles / samples is presented in Figure 10. In general, lower entropy values ​​indicate that similar coding savings should be expected when statistical and information theoretic techniques are used to compress signal samples.

[0069] To give a simple illustration, the test picture was losslessly encoded using a compressor with Huffman coding. Huffman coding, in its original form or some derivative form, is used in most popular coding algorithms, including image and video coding.

[0070] The effect of the proposed technique is illustrated using the average length of the binary codeword used to encode the picture samples. This number represents the average number of bits required to encode the compressed signal. The results are presented in the following table:

[0071] original Sobel convolution Average Huffman codeword length 22.27 12.37 13.61

[0072] The results show that by using the proposed technique, the encoder can save 45% and 39% for Sobel samples and convolution samples, respectively.

[0073] Methods for transforming a signal from raw input samples to equivalent entropy-minimized samples under a kernel operator have been proposed. It was demonstrated that the proposed technique results in significant savings in entropy and coding gain. The method disclosed herein can be implemented as a novel coding technique or as a preprocessor for existing coding techniques, with expected savings resulting in higher compression of the transmitted signal in both use cases.

[0074] It should be noted that any one or more aspects and embodiments described herein may be conveniently implemented using digital electronic circuitry, integrated circuits, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof, as implemented and / or implemented in one or more machines programmed according to the teachings of this specification (e.g., one or more computing devices used as user computing devices for electronic documents, one or more server devices such as document servers, etc.), which will be apparent to one of ordinary skill in the computer arts. These various aspects or features may include implementation in one or more computer programs and / or software executable and / or interpretable on a programmable system, the programmable system including at least one programmable processor, which may be special-purpose or general-purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to send data and instructions to the storage system, at least one input device, and at least one output device.

[0075] Skilled programmers can easily prepare appropriate software coding based on the teachings of this disclosure, which is obvious to those of ordinary skill in the software field. The aspects and embodiments of using software and / or software modules discussed above may also include appropriate hardware for helping to implement the machine executable instructions of the software and / or software modules.

[0076] Such software can be a computer program product using a machine-readable storage medium. A machine-readable storage medium can be an instruction sequence that can be stored and / or encoded to be executed by a machine (e.g., a computing device), and any medium that enables the machine to execute any of the methods and / or embodiments described herein. Examples of machine-readable storage media include, but are not limited to, disks, optical disks (e.g., CDs, CD-Rs, DVDs, DVD-Rs, etc.), magneto-optical disks, read-only memory "ROM" devices, random access memory "RAM" devices, magnetic cards, optical cards, solid-state storage devices, EPROMs, EEPROMs, programmable logic devices (PLDs), and / or any combination of the above items. The machine-readable medium used herein is intended to include a single medium and a collection of physically separated media (e.g., a collection of optical disks, or one or more hard disk drives combined with a computer memory). The machine-readable storage medium used herein does not include a transient form of signal transmission.

[0077] Such software may also include information (e.g., data) carried as a data signal on a data carrier such as a carrier wave. For example, machine executable information may be included as a data bearing signal embodied in a data carrier, wherein the signal encodes a sequence of instructions or a portion thereof executed by a machine (e.g., a computing device), and any associated information (e.g., data structures and data) that causes the machine to perform any of the methods and / or embodiments described herein.

[0078] Examples of computing devices include, but are not limited to, electronic book reading devices, computer workstations, terminal computers, server computers, handheld devices (e.g., tablet computers, smart phones, etc.), network devices, network routers, network switches, bridges, any machine capable of executing a sequence of instructions specifying the actions to be taken, and any combination of the above items. In one example, the computing device may include and / or be included in a self-service terminal (kiosk).

[0079] It should be noted that any one or more aspects and embodiments described herein can be conveniently implemented using one or more machines programmed according to the teachings of this specification (e.g., one or more decoders and / or encoders used as user decoders and / or encoders for electronic documents, one or more server devices such as document servers, etc.), which is obvious to those of ordinary skill in the computer arts. Skilled programmers can easily prepare appropriate software coding based on the teachings of this disclosure, which is obvious to those of ordinary skill in the software arts. The aspects and embodiments using software and / or software modules discussed above may also include appropriate hardware for assisting in implementing the machine executable instructions of the software and / or software modules.

[0080] A detailed description of an exemplary embodiment of the present invention is provided above. It will be appreciated by those skilled in the art that various modifications and additions may be made without departing from the spirit and scope of the present invention. In order to provide a variety of feature combinations in relevant new embodiments, the features of each of the various embodiments described above may be appropriately combined with the features of other described embodiments. In addition, although many separate embodiments have been described above, the content described herein is merely an illustration of the application of the principles of the present invention. In addition, although the specific methods herein may be shown and / or described as being performed in a particular order, in the common techniques of implementing the embodiments disclosed herein, the order is highly variable.

[0081] Accordingly, this description is intended to be exemplary only, and not to limit the scope of the present invention.

[0082] In the above description, a connected list of elements or features may appear after phrases such as "at least one" or "one or more". The term "and / or" may also appear in a list of two or more elements or features. Unless implicitly or explicitly contradictory to the context in which the phrase is used, such a phrase is intended to represent any element or feature listed separately, or a combination of any listed element or feature with any other listed element or feature. For example, the phrases "at least one of A and B", "one or more of A and B" and "A and / or B" are intended to represent "single A, single B, or both A and B". Similar explanations also apply to lists containing three or more items. For example, the phrases "at least one of A, B and C", "one or more of A, B and C", "A, B and / or C" are intended to represent "single A, single B, single C, both A and B, both A and C, both B and C, or A and B and C". In addition, the term "based on" used above and in the claims is intended to represent "based at least in part", so that unquoted features or elements are also allowed.

[0083] The subject matter described herein can be embodied in systems, devices, methods and / or articles according to the desired configuration. The embodiments set forth in the foregoing description do not represent all embodiments consistent with the subject matter described herein. Rather, they are merely some examples consistent with aspects related to the described subject matter. Although some variations have been described in detail above, other modifications or additions are also possible. In particular, in addition to the features and / or variations set forth herein, further features and / or variations may also be provided. For example, the above embodiments may be directed to various combinations and sub-combinations of the disclosed features and / or combinations and sub-combinations of several other features disclosed above. In addition, the logical flows shown in the accompanying drawings and / or described herein do not necessarily require the specific order or sequential order shown to achieve the desired results. Other embodiments may be within the scope of the present disclosure.

Claims

1. An encoder for encoding a signal using a transform based on an entropy minimization kernel, comprising: a transformer module that applies a set of transform kernels for the machine task and determines a transform equivalent of an input signal characterized by reduced entropy; as well as A compressor module receives the transformed signal and compresses the transformed signal to generate a compressed bit stream for transmission over a communication channel.

2. The encoder according to claim 1, wherein The transform kernel is an mxm matrix.

3. The encoder according to claim 2, wherein: The process of determining a transform equivalent of the input signal further comprises: Expand each mxm transformation matrix into a one-dimensional vector; Stack the transformation vectors into a single transformation matrix; Divide the input signal into mxm signal blocks; Expand each mxm signal block into a one-dimensional signal vector; Using the transformation matrix, determining a result vector r for each signal vector; and For each result vector, by t = K T (KK T ) -1 r to determine the transformation signal, where K T is the transpose of the transformation matrix.

4. The encoder according to claim 3, wherein: The input signal is a video signal.

5. The encoder according to claim 4, wherein: The transform kernel is a Sobel kernel.

6. The encoder according to claim 4, wherein: The transform kernel is a convolution kernel.

7. The encoder of claim 4, further comprising a machine model coupled to the transformer module, and wherein the transform kernel is determined at least in part based on the machine model.

8. The encoder according to claim 4, wherein: The transformed signal is compressed by a compressor using a compression standard selected from the group consisting of VVC, HEVC and AV1.

9. The encoder according to claim 4, wherein: The transformed signal is compressed by a compressor using a compression standard optimized for video coding of the machine.

10. The encoder according to claim 1, wherein: The input signal is a video signal.

11. The encoder according to claim 10, wherein: The transform kernel is a Sobel kernel.

12. The encoder according to claim 10, wherein: The transform kernel is a convolution kernel.

13. The encoder of claim 10, further comprising a machine model coupled to the transformer module, and wherein the transform kernel is determined based at least in part on the machine model.

14. A method for encoding a signal with reduced entropy, comprising: Obtain a set of X transformation kernels for the machine task, each of which is in the form of an mxm matrix; Expand each mxm transformation matrix into a one-dimensional 1x(mxm) transformation vector; Stacking the transformation vectors into an X x (mxm) transformation matrix; Divide the input signal into mxm signal blocks, and for each signal block: Expand each mxm signal block into a one-dimensional signal vector; Using the transformation matrix, determining a result vector r for each signal vector; and For each result vector, by t = K T (KK T ) -1 r to determine the transformation signal, where K T is the transpose of the transformation matrix; and The transformed signal is compressed to form a compressed bitstream.

Citation Information

Cited By

  • Chip data compression method and device, equipment and storage medium

    CN119788088A