6

[EDIT] In 1991, Nasir Ahmed wrote: "How I Came Up with the Discrete Cosine Transform". Interesting to read, on how he was inspired by Chebyshev polynomials, and on how he didn't get funding, for a tool at the heart of JPEG and MP3. Natural images are not very stationary, but locally, their covariance is often modeled by a first- or second-order ...


6

Simply because the highest compression typically is significantly more CPU-intense (it tries out multiple different approaches to represent successive lines). This really shouldn't make much difference on a modern PC for saving a few images. Then again, in practice, libpng seems to be pretty slow, so this might make a difference, especially for people ...


2

For the first question, first. In short, yes you can, somehow. It depends a lot on how you process images, and the nature or morphology of the images you analyze. First, it is well etabished that amplitude and phase spectra of natural images are often difficult to analyze (see classical textbooks). I would emphasize three classical issues: nature of the ...


2

Decoding is sometimes another word for uncompressing. Compression used to be called "source coding" (in comparison to channel coding). For images compressed at a single resolution, like in the baseline JPEG, finally-decompressed images have the same size as the original, as already answered. This might not be the case with multiresolution coder ...


2

Image processing is mostly done on frames. The digital image frame is a rectangular raster of pixels, either in an RGB color space or a color space such as YCbCr. So, as you noticed, you can be sure that your compressed images are decoded to rectangular rasters in your application. Each encoded image file stores with its data the source bitmap size (width ...


1

A jpeg compressed image contains (in byte) the upper bound for unique «information» that can reliably be extracted from that image. Decoding will increase the file size, but not knowledge about the true scene. Further, jpeg is «fairly good» but far from perfect in judging what details matters for a human viewer. With that in mind, what about training on the ...


1

Normally, monochrome images should be stored as images with a single channel. However, I have seen digital images with three channels containing the same values. This results in a displayed image looking grayscale. Before compression multichannel data, it is common to decorrelate the channels. For RGB, one often concert them to luminance and chrominances. ...


1

Good approach to first do a rough calculation of the bandwidths you need. Couple of remarks on that: You forgot a factor of 3, that camera has three "color pixels" per image pixel Your use case screams "I should be using a commercial off-the-shelf USB camera"; don't engineer something very complex if it doesn't have a value proposition ...


1

I think that DCT mainly helps with samples that are spatially correlated. The DCT is a linear transform that 1)does energy compaction quite close to the theoretically optimal PCA/KLT transform (representing as much of the signal energy as possible using as few coefficients as possible) for many «typical» images, 2) it can be computed efficiently using FFT-...


1

they are distributed randomly, what I know that every column has 4 zeros and other values either 1 or -1 compression for that image can be done efficiently, Compared with the image which is full of 1 and -1 without any zeros Since your spatial representation is already very sparse, it's likely that the DCT will reduce the compressability. Simple calculation:...


1

JPEG images can't be that big; their maximum size is (2¹⁶-1)×(2¹⁶-1). (doesn't really matter) These are fundamentally different file formats, and their compression stems from different properties: Where JPEG is a lossy format who is able to drastically reduce the file size of content that has photographic properties (mostly: low-pass behaviour in 8×8 pixel ...


1

Yes you are right. Thresholding alone cannot perform data compression. By the way, I assume you meant thresholding of transform (DCT) coefficients. Quantization helps you reduce the number of states the variables can take; hence reduce the number of bits necessary to encode the codebook (totality of codewords). Thresholding, is applied after (or ...


1

This demonstrates till what level of Cb, Cr downsampling human eye can't detect: from PIL import Image import numpy as np def downsample_cb_cr(ycbcr, ds_level): w, h = ycbcr.size ycbcr_np = np.asarray(ycbcr) ycbcr_res = ycbcr.resize((w//ds_level, h//ds_level)) ycbcr_ds = ycbcr_res.resize((w, h)) ycbcr_ds_np = np.array(ycbcr_ds) ...


1

JPEG compression relies on a number of techniques while reducing an image's storage size. Primarily it's the DCT stage which accounts for the gross bit reduction. This stage is controlled by the quality parameter. However, color is also used to advantage as follows. It's experimentally verified that our eyes are more sensitive to brightness resolution than ...


1

You seem to be confused between the difference between what you want to do, the standards that exist for doing it with video, and tools that you might use to do it with -- apparently -- still images. What you want to do You want to separate out the chrominance channel, then you want to average it in 10x10 blocks (for a factor of 100), then you want to make ...


1

For demonstration purposes GIMP is just fine. It can split an image to three separate YUV/YCbCr images. You can then manually resize the UV/CbCr images by any amount to downsample the chroma. Then upsample back to original resolution and recombine the image again.


Only top voted, non community-wiki answers of a minimum length are eligible