Compressed Image File Formats: JPEG, PNG, GIF, XBM, BMP (ACM Press)
معرفی کتاب «Compressed Image File Formats: JPEG, PNG, GIF, XBM, BMP (ACM Press)» نوشتهٔ John Miano، منتشرشده توسط نشر Addison Wesley Longman; Addison-Wesley Professional در سال 1999. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
«فرمتهای فایل تصویری فشرده: جیپیایجی، پیانجی، جیآیاف، ایکسبیام، بیامپی» (Compressed Image File Formats: JPEG, PNG, GIF, XBM, BMP) نوشته جان میانو (John Miano)، یکی از منابع مرجع و جامع در حوزه برنامهنویسی گرافیک است که به شکلی دقیق و کاربردی به بررسی ساختار، الگوریتمهای فشردهسازی و روشهای کدگذاری و کدگشایی پرکاربردترین فرمتهای تصویری میپردازد. این کتاب که در سال ۱۹۹۹ توسط انتشارات ادیسون-وسلی (Addison-Wesley Professional) در مجموعه کتابهای ایسیام (ACM Press) منتشر شده، با زبانی فنی و در عین حال روشن، پلی است میان مستندات پیچیده استانداردها و نیاز عملی برنامهنویسانی که با دادههای تصویری سروکار دارند.
دربارهٔ کتاب —
کتاب با این پیشفرض نوشته شده که خواننده قصد دارد نرمافزاری بنویسد که قادر به خواندن و نوشتن فایلهای تصویری در قالبهای رایج باشد. نویسنده با هدف پر کردن شکاف میان مستندات سطح بالا و استانداردهای دشوارگشای هر فرمت، به سراغ پنج فرمتی رفته است که اکثریت قریببهاتفاق فایلهای تصویری موجود در وب را تشکیل میدهند. رویکرد کتاب به گونهای است که به فرمتهای پیچیدهتر مانند جیپیایجی (JPEG) و پیانجی (PNG) که استانداردهای نسبتاً جدیدتری بودند، عمق و پرداخت بیشتری اختصاص داده شده است، در حالی که برای فرمتهای سادهتر و مستندتر مانند بیامپی (BMP)، ایکسبیام (XBM) و جیآیاف (GIF) نیز اطلاعات کامل و جامعی برای پیادهسازی ارائه شده است. مطالب کتاب با مفاهیم بنیادین مانند نمایش تصاویر، مدلهای رنگی، تفاوت تصاویر حقیقیرنگ (True Color) با تصاویر دارای پالت رنگی، و اصول پایه فشردهسازی آغاز میشود. سپس به ترتیب، هر فرمت در فصول جداگانه مورد بررسی قرار میگیرد. بخش قابلتوجهی از کتاب به استاندارد جیپیایجی اختصاص دارد و مباحثی چون کدگذاری هافمن (Huffman Coding)، تبدیل کسینوسی گسسته (Discrete Cosine Transform - DCT)، روشهای بهینهسازی این تبدیل، و همچنین فرمت پیشرونده (Progressive JPEG) را پوشش میدهد. برای فرمت جیآیاف، علاوه بر ساختار اصلی، به قابلیتهای کمتر شناختهشدهای مانند تصاویر متحرک (Animated GIF) و مسائل حقوقی مرتبط با آن نیز پرداخته شده است. یکی از ویژگیهای بارز کتاب، توجه ویژه به فرمت پیانجی است که در آن به موضوعاتی چون تاریخچه، ساختار فایل، نمایش رنگ و قابلیتهای پیشرفتهای مانند مدیریت رنگ مستقل از دستگاه و تصاویر در همبافته (Interlacing) اشاره شده است.دربارهٔ نویسنده
جان میانو (John Miano) مهندس ارشد شرکت «کولوسئوم بیلدرز» (Colosseum Builders, Inc.) است که در زمینه توسعه برنامههای وب برای صنایع سرگرمی و پخش فعالیت میکند. او پیشتر کتاب «بورلند سیپلاسپلاس بیلدر چگونه» (Borland C++ Builder How-To) را تألیف کرده و مقالات متعددی در زمینه برنامهنویسی برای نشریات تخصصی کامپیوتر نوشته است. میانو مدرک کارشناسی خود را در رشته ریاضیات از کالج ووستر (College of Wooster) دریافت کرده است و سابقه علمی و عملی او، اعتبار محتوای فنی کتاب را دوچندان میکند.چرا باید «فرمتهای فایل تصویری فشرده» را بخوانید؟
درک عمیق از ساختار فرمتهای تصویری: این کتاب با ارائه جزئیات فنی و توضیح چرایی و چگونگی طراحی هر فرمت، درکی عمیق و فراتر از یک مرجع سطحی به خواننده میدهد. یادگیری الگوریتمهای فشردهسازی کلیدی: الگوریتمهایی چون کدگذاری هافمن، فشردهسازی «لِزمپل-زیو-ولچ» (LZW) و روش «دِفلِیت/اینفلیت» (Deflate/Inflate) که در قلب این فرمتها قرار دارند، به زبانی قابلدرک تشریح شدهاند. دسترسی به کدهای عملی و اجرایی: همراه با کتاب، یک لوح فشرده ارائه شده است که شامل کدهای کامل و قابلاجرای رمزگذار و رمزگشا برای تقریباً تمامی فرمتهای مطرح شده است که میتواند نقطه شروعی عالی برای پروژههای برنامهنویسی باشد. دیدگاهی جامع و مقایسهای: کتاب با پوشش همزمان پنج فرمت اصلی، امکان مقایسه مزایا، معایب، مدلهای رنگی و فناوریهای فشردهسازی هر یک را فراهم میکند و به انتخاب آگاهانهتر در پروژهها کمک مینماید. پر کردن شکاف میان استاندارد و پیادهسازی: نویسنده با هدف رفع ناامیدی خود و دیگر برنامهنویسان از فقدان اطلاعات کاربردی، پلی مستحکم میان مستندات خشک استانداردها و کدنویسی عملی ایجاد کرده است.این کتاب برای چه کسانی مناسب است؟
این کتاب منبعی ارزشمند و عملاً ضروری برای طیف گستردهای از متخصصان حوزه فناوری اطلاعات به شمار میرود. جامعه هدف اصلی آن، برنامهنویسان گرافیک و به ویژه آن دسته از توسعهدهندگانی هستند که روی برنامههای وب، نرمافزارهای ویرایش تصویر، بینندههای فایل (Viewer) یا هر اپلیکیشنی که نیاز به پردازش، ذخیره یا نمایش دادههای تصویری دارد، کار میکنند. همچنین دانشجویان علوم کامپیوتر و مهندسی نرمافزار که به دنبال درکی عمیق از نحوه عملکرد زیرساختهای تصویری وب هستند و حتی وبمسترهایی که میخواهند تصمیمات آگاهانهتری درباره انتخاب فرمتهای تصویری مناسب برای وبسایت خود بگیرند، از مطالعه این کتاب بهرههای فراوانی خواهند برد.سوالات متداول
آیا برای درک این کتاب باید با زبان برنامهنویسی سیپلاسپلاس آشنا بود؟
بله، کتاب از زبان سیپلاسپلاس برای پیادهسازی مثالها و کدهای همراه استفاده کرده است. با این حال، نویسنده تلاش کرده تا با اجتناب از برخی ساختارهای پیچیده و استفاده از شبهکد (Pseudo-code) برای توضیح الگوریتمها، مطالب را برای برنامهنویسانی که با زبانهای دیگر کار میکنند نیز قابلدرک کند.
تفاوت این کتاب با مستندات اصلی استانداردهای جیپیایجی یا پیانجی چیست؟
مستندات اصلی استانداردها اغلب بسیار مفصل، فنی و برای پیادهسازی مستقیم دشوار هستند. این کتاب به عنوان راهنمایی عمل میکند که این مستندات را خلاصهسازی و شفافسازی کرده و با ارائه مثالهای کدنویسی و شبهکد، تمرکز خود را بر جنبههای عملی و پرکاربرد میگذارد تا برنامهنویس بتواند سریعتر به نتیجه برسد.
آیا مباحث کتاب بهروز است و برای فرمتهای مدرن مانند WebP یا AVIF نیز کاربرد دارد؟
این کتاب در سال ۱۹۹۹ منتشر شده و عمدتاً بر روی پنج فرمت پایه و رایج وب آن دوران تمرکز دارد. با این حال، درک الگوریتمهای بنیادین فشردهسازی، ساختار فایل و مدلهای رنگی که در این کتاب آموزش داده میشوند، پایهای محکم و همیشگی برای درک هر فرمت تصویری جدیدی ایجاد میکند و دانش منتقلپذیری به برنامهنویس میدهد.
This comprehensive reference on the major graphics file formats and the compression technologies they employ is an indispensable resource for graphics programmers, especially those developing graphical applications for the Web.
Compressed Image File Formats: JPEG, PNG, GIF, XBM, BMP examines the most common graphics file formats in detail and demonstrates how to encode and decode image files for each. In particular, this book offers in-depth coverage of the elaborate JPEG and newer PNG formats, providing clear explanations of complex concepts, experience-based practical techniques, and plentiful code examples. GIF, XBM, and BMP are also covered, with a focus on some of the less familiar and less well-documented features of these common file formats.
Specific topics covered include:
- Compression technologies that each file format utilizes
- Color models employed by each file format
- The advantages and disadvantages of each file format
- Huffman Coding
- LZW Compression
- Deflate/Inflate
- Progressive JPEG
- The Discrete Cosine Transform
- Animated GIF
The accompanying CD-ROM contains the complete source code for all of the image formats covered in the book, as well as working examples and sample images. If you want to learn how to read and write graphic file formats for the Web--including PNG and JPEG files--there is no better resource than this book. System requirements: Windows 95 or Windows NT, Borland C++ Builder 3, or Microsoft Visual C++ 5.0.
0201604434B04062001
Since not all graphic formats are of equal complexity, author John Miano does not simply choose a number of file formats and devote a chapter to each one. Instead, he offers additional coverage for the more complex image file formats like PNG (a new standard) and JPEG, while providing all information necessary to use the simpler file formats. While including the well-documented BMP, XBM, and GIF formats for completeness, along with some of their less-covered features, this book gives the most space to the more intricate PNG and JPEG, from basic concepts to creating and reading actual files. Among its highlights, this book covers:-- JPEG Huffman coding, including decoding sequential mode JPEG images and creating sequential JPEG files-- Optimizing the DCT-- Portable Network Graphics format (PNG), including decompressing PNG image data and creating PNG files-- Windows BMP, XBM, and GIF Shows graphics programmers how to write software that can read and write files using various 2-D image formats associated with Web browsers. Topics include compression technologies, color models, Huffman code generation, block ordering, the discrete cosine transform, and animated GIF. The CD-ROM contains source code and examples in C++. Annotation c. Book News, Inc., Portland, OR (booknews.com) Examines the most common graphics file formats in detail and demonstrates how to encode and decode image files for each. Offers in-depth coverage of the elaborate JPEG and newer PNG formats, providing clear explanations of complex concepts, experience-based practical techniques, and code examples. Softcover. CD-ROM included. DLC: Image processing--Computer programs. CD-ROM contains: Programming examples -- Sample images -- Image file format specifications -- Image file library -- 3rd Party Software with source code