Articoli correlati a Still Image and Video Compression with Matlab

Still Image and Video Compression with Matlab - Rilegato

 
9780470484166: Still Image and Video Compression with Matlab

Sinossi

This book describes the principles of image and video compression techniques and introduces current and popular compression standards, such as the MPEG series. Derivations of relevant compression algorithms are developed in an easy-to-follow fashion. Numerous examples are provided in each chapter to illustrate the concepts.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Informazioni sull?autore

K.S. Thyagarajan is Chief Scientist at Micro USA, Inc., where he has developed an extensive suite of image processing, detection, and classification algorithms for the detection of very low contrast targets underwater in littoral waters and open oceans. He is an Emeritus Professor in the Department of Electrical and Computer Engineering at San Diego State University, and has extensive academic and industrial experience in researching and developing video compression systems. Dr. Thyagarajan's expertise lies in signal, image processing, image and video compression, pattern recognition, and communications. He holds several patents in video compression.

Dalla quarta di copertina

The Most Comprehensive Coverage of the Theory and Practice of Image and Video Compression

This authoritative text enables readers to grasp the basic principles of still image and video compression methods as well as the current and popular compression standards, such as JPEG, MPEG, and Advanced Video Coding (AVC). Written in clear language and with minimal mathematical derivations, it allows readers to gain practical experience in simulating actual compression systems via the globally popular MATLAB software platform.

The book first introduces qualitatively the plethora of image compression methods available followed by image acquisition techniques, illustrating the design of uniform and non-uniform quantizers. Next, various image transforms such as the discrete cosine (dct) and discrete wavelet (dwt) are explained. Predictive coding—a core ingredient in various compression standards—is reviewed, along with lossless compression methods. Then follow chapters on still image compression schemes using DCT and wavelets (where JPEG and JPEG2000 standards for still image compression are described) and video coding principles. Finally, the book explains video compression standards such as MPEG-1, 2, and 4 as well as H.264 (AVC), and covers video compression in a wireless environment.

Each chapter contains problems of varying difficulty—both analytical and software-oriented—and powerful simulation examples using MATLAB code to provide hands-on experience in applying various compression techniques. The code is simple enough to be easily modified to suit a reader's particular application. Many examples are accompanied by real-world pictures that illustrate the specific effect of a compression scheme. These unique features make this comprehensive resource an ideal textbook for senior and first-year graduate students in courses in image processing and compression in electrical engineering and computer science. It is also a concise hands-on reference for professionals and practicing engineers.

Estratto. © Ristampato con autorizzazione. Tutti i diritti riservati.

Still Image and Video Compression with MATLAB

By K. S. Thyagarajan

John Wiley & Sons

Copyright © 2010 John Wiley & Sons, Inc.
All right reserved.

ISBN: 978-0-470-48416-6

Chapter One

INTRODUCTION

This book is all about image and video compression. Chapter 1 simply introduces the overall ideas behind data compression by way of pictorial and graphical examples to motivate the readers. Detailed discussions on various compression schemes appear in subsequent chapters. One of the goals of this book is to present the basic principles behind image and video compression in a clear and concise manner and develop the necessary mathematical equations for a better understanding of the ideas. A further goal is to introduce the popular video compression standards such as Joint Photographic Experts Group (JPEG) and Moving Picture Experts Group (MPEG) and explain the compression tools used by these standards. Discussions on semantics and data transportation aspects of the standards will be kept to a minimum. Although the readers are expected to have an introductory knowledge in college-level mathematics and systems theory, clear explanations of the mathematical equations will be given where necessary for easy understanding. At the end of each chapter, problems are given in an increasing order of difficulty to make the understanding firm and lasting.

In order for the readers of this book to benefit further, MATLAB codes for several examples are included. To run the M-files on your computers, you should install MATLAB software. Although there are other software tools such as C++ and Python to use, MATLAB appears to be more readily usable because it has a lot of built-in functions in various areas such as signal processing, image and video processing, wavelet transform, and so on, as well as simulation tools such as MATLAB Simulink. Moreover, the main purpose of this book is to motivate the readers to learn and get hands on experience in video compression techniques with easy-to-use software tools, which does not require a whole lot of programming skills. In the remainder of the chapter, we will briefly describe various compression techniques with some examples.

1.1 WHAT IS SOURCE CODING?

Images and videos are moved around the World Wide Web by millions of users almost in a nonstop fashion, and then, there is television (TV) transmission round the clock. Analog TV has been phased out since February 2009 and digital TV has taken over. Now we have the cell phone era. As the proverb a picture is worth a thousand words goes, the transmission of these visual media in digital form alone will require far more bandwidth than what is available for the Internet, TV, or wireless networks. Therefore, one must find ways to format the visual media data in such a way that it can be transmitted over the bandwidth-limited TV, Internet, and wireless channels in real time. This process of reducing the image and video data so that it fits into the available limited bandwidth or storage space is termed data compression. It is also called source coding in the communications field. When compressed audio/video data is actually transmitted through a transmission channel, extra bits are added to it to counter the effect of noise in the channel so that errors in the received data, if present, could be detected and/or corrected. This process of adding additional data bits to the compressed data stream before transmission is called channel coding. Observe that the effect of reducing the original source data in source coding is offset to a small extent by the channel coding, which adds data rather than reducing it. However, the added bits by the channel coder are very small compared with the amount of data removed by source coding. Thus, there is a clear advantage of compressing data.

We illustrate the processes of compressing and transmitting or storing a video source to a destination in Figure 1.1. The source of raw video may come from a video camera or from a previously stored video data. The source encoder compresses the raw data to a desired amount, which depends on the type of compression scheme chosen. There are essentially two categories of compression—lossless and lossy. In a lossless compression scheme, the original image or video data can be recovered exactly. In a lossy compression, there is always a loss of some information about the original data and so the recovered image or video data suffers from some form of distortion, which may or may not be noticeable depending on the type of compression used. After source encoding, the quantized data is encoded losslessly for transmission or storage. If the compressed data is to be transmitted, then channel encoder is used to add redundant or extra data bits and fed to the digital modulator. The digital modulator converts the input data into an RF signal suitable for transmission through a communications channel.

The communications receiver performs the operations of demodulation and channel decoding. The channel decoded data is fed to the entropy decoder followed by source decoder and is finally delivered to the sink or stored. If no transmission is used, then the stored compressed data is entropy decoded followed by source decoding as shown on the right-hand side of Figure 1.1.

1.2 WHY IS COMPRESSION NECESSARY?

An image or still image to be precise is represented in a computer as an array of numbers, integers to be more specific. An image stored in a computer is called a digital image. However, we will use the term image to mean a digital image. The image array is usually two dimensional (2D) if it is black and white (BW) and three dimensional (3D) if it is a color image. Each number in the array represents an intensity value at a particular location in the image and is called a picture element or pixel, for short. The pixel values are usually positive integers and can range between 0 and 255. This means that each pixel of a BW image occupies 1 byte in a computer memory. In other words, we say that the image has a grayscale resolution of 8 bits per pixel (bpp). On the other hand, a color image has a triplet of values for each pixel: one each for the red, green, and blue primary colors. Hence, it will need 3 bytes of storage space for each pixel. The captured images are rectangular in shape. The ratio of width to height of an image is called the aspect ratio. In standard-definition television (SDTV) the aspect ratio is 4:3, while it is 16:9 in a high-definition television (HDTV). The two aspect ratios are illustrated in Figure 1.2, where Figure 1.2a corresponds to an aspect ratio of 4:3 while Figure 1.2b corresponds to the same picture with an aspect ratio of 16:9. In both pictures, the height in inches remains the same, which means that the number of rows remains the same. So, if an image has 480 rows, then the number of pixels in each row will be 480 x 4/3 = 640 for an aspect ratio of 4:3. For HDTV, there are 1080 rows and so the number of pixels in each row will be 1080 x 16/9 = 1920. Thus, a single SD color image with 24 bpp will require 640 x 480 x 3 = 921,600 bytes of memory space, while an HD color image with the same pixel depth will require 1920 x 1080 x 3 = 6,220,800 bytes. A video source may produce 30 or more frames per second, in which case the raw data rate will be 221,184,000 bits per second for SDTV and 1,492,992,000 bits per second for HDTV. If this raw data has to be transmitted in real time through an ideal communications channel, which will require 1 Hz of bandwidth for every 2 bits of data, then the required bandwidth will be 110,592,000 Hz for SDTV and 746,496,000 Hz for HDTV. There are no such practical channels in existence that will allow for such a huge transmission bandwidth. Note that dedicated channels such as HDMI capable of transferring uncompressed data at this high rate over a short distance do exist, but we are only referring to long-distance transmission here. It is very clear that efficient data compression schemes are required to bring down the huge raw video data rates to manageable values so that practical communications channels may be employed to carry the data to the desired destinations in real time.

1.3 IMAGE AND VIDEO COMPRESSION TECHNIQUES

1.3.1 Still Image Compression

Let us first see the difference between data compression and bandwidth compression. Data compression refers to the process of reducing the digital source data to a desired level. On the other hand, bandwidth compression refers to the process of reducing the analog bandwidth of the analog source. What do we really mean by these terms? Here is an example. Consider the conventional wire line telephony. A subscriber's voice is filtered by a lowpass filter to limit the bandwidth to a nominal value of 4 kHz. So, the channel bandwidth is 4 kHz. Suppose that it is converted to digital data for longdistance transmission. As we will see later, in order to reconstruct the original analog signal that is band limited to 4 kHz exactly, sampling theory dictates that one should have at least 8000 samples per second. Additionally, for digital transmission each analog sample must be converted to a digital value. In telephony, each analog voice sample is converted to an 8-bit digital number using pulse code modulation (PCM). Therefore, the voice data rate that a subscriber originates is 64,000 bits per second. As we mentioned above, in an ideal case this digital source will require 32 kHz of bandwidth for transmission. Even if we employ some form of data compression to reduce the source rate to say, 16 kilobits per second, it will still require at least 8 kHz of channel bandwidth for real-time transmission. Hence, data compression does not necessarily reduce the analog bandwidth. Note that the original analog voice requires only 4 kHz of bandwidth. If we want to compress bandwidth, we can simply filter the analog signal by a suitable filter with a specified cutoff frequency to limit the bandwidth occupied by the analog signal.

Having clarified the terms data compression and bandwidth compression, let us look into some basic data compression techniques known to us. Henceforth, we will use the terms compression and data compression interchangeably. All image and video sources have redundancies. In a still image, each pixel in a row may have a value very nearly equal to a neighboring pixel value. As an example, consider the cameraman picture shown in Figure 1.3. Figure 1.4 shows the profile (top figure) and the corresponding correlation (bottom figure) of the cameraman picture along row 164. The MATLAB M-file for generating Figure 1.4 is listed below. Observe that the pixel values are very nearly the same over a large number of neighboring pixels and so is the pixel correlation. In other words, pixels in a row have a high correlation. Similarly, pixels may also have a high correlation along the columns. Thus, pixel redundancies translate to pixel correlation. The basic principle behind image data compression is to decorrelate the pixels and encode the resulting decorrelated image for transmission or storage. A specific compression scheme will depend on the method by which the pixel correlations are removed.

One of the earliest and basic image compression techniques is known as the differential pulse code modulation (DPCM). If the pixel correlation along only one dimension (row or column) is removed, then the DPCM is called one-dimensional (1D) DPCM or row-by-row DPCM. If the correlations along both dimensions are removed, then the resulting DPCM is known as 2D DPCM. A DPCM removes pixel correlation and requantizes the residual pixel values for storage or transmission. The residual image has a variance much smaller than that of the original image. Further, the residual image has a probability density function, which is a double-sided exponential function. These give rise to compression.

The quantizer is fixed no matter how the decorrelated pixel values are. A variation on the theme is to use quantizers that adapt to changing input statistics, and therefore, the corresponding DPCM is called an adaptive DPCM. DPCM is very simple to implement, but the compression achievable is about 4:1. Due to limited bit width of the quantizer for the residual image, edges are not preserved well in the DPCM. It also exhibits occasional streaks across the image when channel error occurs. We will discuss DPCM in detail in a later chapter.

Another popular and more efficient compression scheme is known by the generic name transform coding. Remember that the idea is to reduce or remove pixel correlation to achieve compression. In transform coding, a block of image pixels is linearly transformed into another block of transform coefficients of the same size as the pixel block with the hope that only a few of the transform coefficients will be significant and the rest may be discarded. This implies that storage space is required to store only the significant transform coefficients, which are a fraction of the total number of coefficients and hence the compression. The original image can be reconstructed by performing the inverse transform of the reduced coefficient block. It must be pointed out that the inverse transform must exist for unique reconstruction. There are a number of such transforms available in the field to choose from, each having its own merits and demerits. The most efficient transform is one that uses the least number of transform coefficients to reconstruct the image for a given amount of distortion. Such a linear transform is known as the optimal transform where optimality is with respect to the minimum mean square error between the original and reconstructed images. This optimal image transform is known by the names Karhunen-Loève transform (KLT) or Hotelling transform. The disadvantage of the KLT is that the transform kernel depends on the actual image to be compressed, which requires a lot more side information for the receiver to reconstruct the original image from the compressed image than other fixed transforms. A highly popular fixed transform is the familiar discrete cosine transform (DCT). The DCT has very nearly the same compression efficiency as the KLT with the advantage that its kernel is fixed and so no side information is required by the receiver for the reconstruction. The DCT is used in the JPEG and MPEG video compression standards. The DCT is usually applied on nonoverlapping blocks of an image. Typical DCT blocks are of size 8 x 8 or 16 x 16. One of the disadvantages of image compression using the DCT is the blocking artifact. Because the DCT blocks are small compared with the image and because the average values of the blocks may be different, blocking artifacts appear when the zero-frequency (dc) DCT coefficients are quantized rather heavily. However, at low compression, blocking artifacts are almost unnoticeable. An example showing blocking artifacts due to compression using 8 x 8 DCT is shown in Figure 1.5a. Blockiness is clearly seen in flat areas—both low and high intensities as well as undershoot and overshoot along the sharp edges—see Figure 1.5b. A listing of M-file for Figures 1.5a,b is shown below.

A third and relatively recent compression method is based on wavelet transform. As we will see in a later chapter, wavelet transform captures both long-term and short-term changes in an image and offers a highly efficient compression mechanism. As a result, it is used in the latest versions of the JPEG standards as a compression tool. It is also adopted by the SMPTE (Society of Motion Pictures and Television Engineers). Even though the wavelet transform may be applied on blocks of an image like the DCT, it is generally applied on the full image and the various wavelet coefficients are quantized according to their types. A two-level discrete wavelet transform (DWT) of the cameraman image is shown in Figure 1.6 to illustrate how the 2D wavelet transform coefficients look like. Details pertaining to the levels and subbands of the DWT will be given in a later chapter. The M-file to implement multilevel 2D DWT that generates Figure 1.6 is listed below. As we will see in a later chapter, the 2D DWT decomposes an image into one approximation and many detail coefficients. The number of coefficient subimages corresponding to an L-level 2D DWT equals 3 x L + 1. Therefore, for a two-level 2D DWT, there are seven coefficient subimages. In the first level, there are three detail coefficient subimages, each of size 1/4 the original image. The second level consists of four sets of DWT coefficients—one approximation and three details, each 1/16 the original image. As the name implies the approximation coefficients are lower spatial resolution approximations to the original image. The detail coefficients capture the discontinuities or edges in the image with orientations in the horizontal, vertical, and diagonal directions. In order to compress, an image using 2D DWT we have to compute the 2D DWT of the image up to a given level and then quantize each coefficient subimage. The achievable quality and compression ratio depend on the chosen wavelets and quantization method. The visual effect of quantization distortion in DWT compression scheme is different from that in DCT-based scheme. Figure 1.7a is the cameraman image compressed using 2D DWT. The wavelet used is called Daubechies 2 (db2 in MATLAB) and the number of levels used is 1. We note that there are no blocking effects, but there are patches in the flat areas. We also see that the edges are reproduced faithfully as evidenced in the profile (Figure 1.7b). It must be pointed out that the amount of quantization applied in Figure 1.7a is not the same as that used for the DCT example and that the two examples are given only to show the differences in the artifacts introduced by the two schemes. An M-file listing to generate Figures 1.7a,b is shown below.

(Continues...)


Excerpted from Still Image and Video Compression with MATLABby K. S. Thyagarajan Copyright © 2010 by John Wiley & Sons, Inc.. Excerpted by permission of John Wiley & Sons. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.

Compra usato

Condizioni: buono
Connecting readers with great books...
Visualizza questo articolo

EUR 3,22 per la spedizione in U.S.A.

Destinazione, tempi e costi

Risultati della ricerca per Still Image and Video Compression with Matlab

Foto dell'editore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Antico o usato Rilegato

Da: HPB-Red, Dallas, TX, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

hardcover. Condizione: Good. Connecting readers with great books since 1972! Used textbooks may not include companion materials such as access codes, etc. May have some wear or writing/highlighting. We ship orders daily and Customer Service is our top priority! Codice articolo S_432323673

Contatta il venditore

Compra usato

EUR 16,71
Convertire valuta
Spese di spedizione: EUR 3,22
In U.S.A.
Destinazione, tempi e costi

Quantità: 1 disponibili

Aggiungi al carrello

Foto dell'editore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Antico o usato Rilegato

Da: ThriftBooks-Dallas, Dallas, TX, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Hardcover. Condizione: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.75. Codice articolo G0470484160I3N00

Contatta il venditore

Compra usato

EUR 20,11
Convertire valuta
Spese di spedizione: GRATIS
In U.S.A.
Destinazione, tempi e costi

Quantità: 1 disponibili

Aggiungi al carrello

Foto dell'editore

Thyagarajan, K, S.
Editore: John Wiley and Sons, 2011
ISBN 10: 0470484160 ISBN 13: 9780470484166
Antico o usato Rilegato

Da: Anybook.com, Lincoln, Regno Unito

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: Good. This is an ex-library book and may have the usual library/used-book markings inside.This book has hardback covers. In good all round condition. No dust jacket. Please note the Image in this listing is a stock photo and may not match the covers of the actual item,900grams, ISBN:9780470484166. Codice articolo 9466763

Contatta il venditore

Compra usato

EUR 34,41
Convertire valuta
Spese di spedizione: EUR 14,80
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

Quantità: 1 disponibili

Aggiungi al carrello

Foto dell'editore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Antico o usato Rilegato

Da: Phatpocket Limited, Waltham Abbey, HERTS, Regno Unito

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: Good. Your purchase helps support Sri Lankan Children's Charity 'The Rainbow Centre'. Ex-library, so some stamps and wear, but in good overall condition. Our donations to The Rainbow Centre have helped provide an education and a safe haven to hundreds of children who live in appalling conditions. Codice articolo Z1-U-012-01877

Contatta il venditore

Compra usato

EUR 56,28
Convertire valuta
Spese di spedizione: EUR 12,17
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

Quantità: 1 disponibili

Aggiungi al carrello

Foto dell'editore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Nuovo Rilegato

Da: Lucky's Textbooks, Dallas, TX, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: New. Codice articolo ABLING22Oct1916240147574

Contatta il venditore

Compra nuovo

EUR 123,72
Convertire valuta
Spese di spedizione: EUR 3,42
In U.S.A.
Destinazione, tempi e costi

Quantità: Più di 20 disponibili

Aggiungi al carrello

Immagini fornite dal venditore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Nuovo Rilegato

Da: GreatBookPrices, Columbia, MD, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: New. Codice articolo 5987955-n

Contatta il venditore

Compra nuovo

EUR 124,90
Convertire valuta
Spese di spedizione: EUR 2,26
In U.S.A.
Destinazione, tempi e costi

Quantità: Più di 20 disponibili

Aggiungi al carrello

Foto dell'editore

K Thyagarajan
Editore: Wiley-Blackwell, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Nuovo Rilegato

Da: PBShop.store UK, Fairford, GLOS, Regno Unito

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

HRD. Condizione: New. New Book. Shipped from UK. Established seller since 2000. Codice articolo FW-9780470484166

Contatta il venditore

Compra nuovo

EUR 121,39
Convertire valuta
Spese di spedizione: EUR 6,71
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

Quantità: 15 disponibili

Aggiungi al carrello

Immagini fornite dal venditore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Antico o usato Rilegato

Da: GreatBookPrices, Columbia, MD, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: As New. Unread book in perfect condition. Codice articolo 5987955

Contatta il venditore

Compra usato

EUR 132,42
Convertire valuta
Spese di spedizione: EUR 2,26
In U.S.A.
Destinazione, tempi e costi

Quantità: Più di 20 disponibili

Aggiungi al carrello

Immagini fornite dal venditore

Thyagarajan, K. S.
Editore: Wiley-IEEE Press, 2010
ISBN 10: 0470484160 ISBN 13: 9780470484166
Nuovo Rilegato

Da: GreatBookPricesUK, Woodford Green, Regno Unito

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Condizione: New. Codice articolo 5987955-n

Contatta il venditore

Compra nuovo

EUR 121,38
Convertire valuta
Spese di spedizione: EUR 17,15
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

Quantità: Più di 20 disponibili

Aggiungi al carrello

Foto dell'editore

K.S. Thyagarajan
ISBN 10: 0470484160 ISBN 13: 9780470484166
Nuovo Rilegato Prima edizione

Da: Grand Eagle Retail, Mason, OH, U.S.A.

Valutazione del venditore 5 su 5 stelle 5 stelle, Maggiori informazioni sulle valutazioni dei venditori

Hardcover. Condizione: new. Hardcover. This book describes the principles of image and video compression techniques and introduces current and popular compression standards, such as the MPEG series. Derivations of relevant compression algorithms are developed in an easy-to-follow fashion. Numerous examples are provided in each chapter to illustrate the concepts. This book describes the principles of image and video compression techniques and introduces current and popular compression standards, such as the MPEG series. Derivations of relevant compression algorithms are developed in an easy-to-follow fashion. Numerous examples are provided in each chapter to illustrate the concepts. Shipping may be from multiple locations in the US or from the UK, depending on stock availability. Codice articolo 9780470484166

Contatta il venditore

Compra nuovo

EUR 148,48
Convertire valuta
Spese di spedizione: GRATIS
In U.S.A.
Destinazione, tempi e costi

Quantità: 1 disponibili

Aggiungi al carrello

Vedi altre 13 copie di questo libro

Vedi tutti i risultati per questo libro