.\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pamtojpeg2k User Manual" 0 "1 November 2022" "netpbm documentation" .SH "نام (NAME)" pamtojpeg2k \- تبدیل تصویر PAM/PNM به جریان کد JPEG-2000 .UN synopsis .SH "خلاصه دستور (SYNOPSIS)" \fBpamtojpeg2k\fP [\fB-imgareatlx=\fP\fIcolumn\fP] [\fB-imgareatly=\fP\fIrow\fP] [\fB-tilegrdtlx=\fP\fIcolumn\fP] [\fB-tilegrdtly=\fP\fIrow\fP] [\fB-tilewidth=\fP\fIcolumns\fP] [\fB-tileheight=\fP\fIrows\fP] [\fB-prcwidth=\fP\fIcolumns\fP] [\fB-prcheight=\fP\fIrows\fP] [\fB-cblkwidth=\fP\fIcolumns\fP] [\fB-cblkheight=\fP\fIrows\fP] [\fB-mode=\fP{\fBinteger\fP|\fBint\fP|\fBreal\fP}] [\fB-compression=\fP\fIratio\fP] [\fB-size=\fP\fIbytes\fP] [\fB-ilyrrates=\fP[\fIrealnumber\fP[,\fIrealnumber\fP, ...]] [\fB-numrlvls=\fP\fInumber\fP] [\fB-progression=\fP{\fBlrcp\fP|\fBrlcp\fP|\fBrpcl\fP|\fBpcrl\fP|\fBcprl\fP}] [\fB-numgbits=\fP\fInumber\fP] [\fB-nomct\fP] [\fB-sop\fP] [\fB-eph\fP] [\fB-lazy\fP] [\fB-termall\fP] [\fB-segsym\fP] [\fB-vcausal\fP] [\fB-pterm\fP] [\fB-resetprob\fP] [\fB-verbose\fP] [\fB-debuglevel=\fP\fInumber\fP] \fIfilename\fP .PP کوتاه‌ترین اختصار یکتا از هر گزینه پذیرفته می‌شود. می‌توانید برای مشخص کردن گزینه‌ها به جای یک خط تیره از دو خط تیره استفاده کنید. همچنین می‌توانید به جای علامت مساوی، از نویسهٔ فاصله برای جدا کردن نام گزینه از مقدار آن استفاده نمایید. .UN description .SH "توضیحات (DESCRIPTION)" .PP این برنامه بخشی از .BR "Netpbm" (1)\c \& است. .PP دستور \fBpamtojpeg2k\fP فایل نام‌برده‌شدهٔ PBM، PGM، PPM یا PAM (یا در صورت مشخص نشدن نام فایل، ورودی استاندارد) را به یک فایل جریان کد JPEG-2000 (JPC) در خروجی استاندارد تبدیل می‌کند. .PP مشخصات فنی JPEG-2000 دو قالب جداگانه را تعیین می‌کند: JP2 و جریان کد JPEG-2000 (JPC). قالب JP2 یک تصویر دیداری را به‌صورت کاملاً مشخص و دقیق نمایش می‌دهد، در حالی که JPC کم‌وبیش یک آرایهٔ اختیاری از کدهاست. \fBpamtojpeg2k\fP توانایی تولید قالب JP2 را ندارد، اما تصویر JPC که توسط \fBpamtojpeg2k\fP تولید می‌شود، در صورتی که ورودی یک تصویر PBM، PGM، PPM یا PAM معادل باشد، بسیار شبیه به JP2 خواهد بود. یک تفاوت در این است که مقادیر شدت روشنایی RGB در JP2 مقادیر sRGB هستند، در حالی که \fBpamtojpeg2k\fP مقادیر توصیه‌نامهٔ ITU-R BT.709 را تولید می‌کند. این مقادیر بسیار مشابه‌اند، اما کاملاً یکسان نیستند. تفاوت دیگر این است که یک فایل JP2 می‌تواند حاوی اطلاعات اضافی دربارهٔ تصویر باشد که JPC قادر به نگهداری آن‌ها نیست. .PP هنگامی که ورودی یک تصویر PAM به غیر از معادل PBM، PGM یا PPM باشد، رَستر (raster) تصویر JPC تولیدشده حاوی همان داده‌هایی است که رَستر PAM دارد. این داده‌ها می‌توانند شامل هر تعداد صفحه (plane) با هر مفهومی باشند؛ این صفحه‌ها در خروجی JPC با همان ترتیبی قرار می‌گیرند که در ورودی PAM بودند. .PP یک تصویر JPC دارای یک «دقت» (precision) است که بیانگر تعداد بیت‌های به‌کاررفته برای هر کد (در اصطلاح Netpbm، «نمونه» یا sample) می‌باشد. در واقع، این قالب برای هر مؤلفه یک دقت جداگانه دارد. \fBpamtojpeg2k\fP برای دقت هر مؤلفه، از کمترین تعداد بیتی استفاده می‌کند که بتواند مقدار maxval تصویر ورودی را نمایش دهد. تصویر JPC مفهوم مستقلی از maxval ندارد؛ مقدار maxval یک نمونهٔ JPC حداکثر مقداری است که تعداد بیت‌های مشخص‌شده توسط دقت می‌توانند در کد باینری خالص نمایش دهند. برای مثال، اگر دقت ۴ باشد، مقدار maxval برابر با ۱۵ است. البته \fBpamtojpeg2k\fP مقادیر نمونه را از maxval ورودی به maxval خروجی مقیاس‌بندی می‌کند. مثال: مقدار maxval ورودی ۹۹ است. این یعنی دقت JPC برابر با ۷ بیت و maxval خروجی JPC برابر با ۱۲۷ خواهد بود. بنابراین مقدار نمونهٔ ۳۳ در ورودی، به مقدار نمونهٔ ۴۳ در خروجی تبدیل می‌شود. .PP دستور \fBpamtojpeg2k\fP خروجی JPC را به کمک .UR http://www.ece.uvic.ca/~mdadams/jasper کتابخانهٔ JPEG-2000 جَسپِر (Jasper) .UE \& تولید می‌کند. برای جزئیات بیشتر در مورد آنچه \fBpamtojpeg2k\fP تولید می‌کند، به مستندات این کتابخانه مراجعه کنید. توجه داشته باشید که کتابخانهٔ Jasper شامل امکاناتی برای خواندن تصاویر PNM است، اما \fBpamtojpeg2k\fP از آن‌ها استفاده نمی‌کند و به جای آن از کتابخانهٔ Netpbm بهره می‌برد. همچنین سازندگان کتابخانهٔ Jasper آن را به‌صورت «JasPer» می‌نویسند، اما مستندات Netpbm از قوانین استاندارد نگارش انگلیسی آمریکایی پیروی می‌کند که چنین بزرگ‌نویسی نامعمولی را مجاز نمی‌داند. .PP برای تبدیل در جهت معکوس، از دستور \fBjpeg2ktopam\fP استفاده کنید. .PP برنامهٔ \fBjasper\fP که همراه با کتابخانهٔ JPEG-2000 جَسپِر عرضه می‌شود نیز قادر به تبدیل میان قالب‌های JPEG-2000 و PNM است. از آنجا که این برنامه همراه با خود کتابخانه بسته‌بندی شده است، ممکن است استفادهٔ بهتری از قابلیت‌های آن (به‌ویژه ویژگی‌های تازه اضافه‌شده) داشته باشد. با این حال، به دلیل اینکه برای خواندن و نوشتن قالب‌های Netpbm از کتابخانهٔ Netpbm استفاده نمی‌کند، در این زمینه خروجی مطلوبی ارائه نمی‌دهد. .PP قالب دیگری با اهدافی مشابه JPEG-2000 که امکان کدگذاری و رمزگشایی سریع‌تری را فراهم می‌سازد، .UR https://jpeg.org/jpegls JPEG-LS .UE \& است. .UR http://github.com/team-charls/charls CharLS .UE \& نیز یک بستهٔ نرم‌افزاری برای کار با قالب JPEG-LS می‌باشد. .UN options.SH "گزینه‌ها (OPTIONS)" .PP علاوه بر گزینه‌های مشترک میان تمامی برنامه‌های مبتنی بر libnetpbm (به‌ویژه \fB-quiet\fP، به .UR index.html#commonoptions گزینه‌های مشترک (Common Options) .UE \& مراجعه کنید)، \fBpamtojpeg2k\fP گزینه‌های خط فرمان زیر را می‌شناسد: .UN jasperopts .SS گزینه‌های کتابخانه Jasper .PP این گزینه‌ها از نظر نام و عملکرد با گزینه‌هایی که زیربرنامهٔ رمزگذار JPC در کتابخانهٔ Jasper دریافت می‌کند یکسان هستند. برای جزئیات به .UR http://www.ece.uvic.ca/~mdadams/jasper مستندات Jasper .UE \& مراجعه کنید. .TP \fB-imgareatlx=\fP\fIcolumn\fP .TP \fB-imgareatly=\fP\fIrow\fP .TP \fB-tilegrdtlx=\fP\fIcolumn\fP .TP \fB-tilegrdtly=\fP\fIrow\fP .TP \fB-tilewidth=\fP\fIcolumns\fP .TP \fB-tileheight=\fP\fIrows\fP .TP \fB-prcwidth=\fP\fIcolumns\fP .TP \fB-prcheight=\fP\fIrows\fP .TP \fB-cblkwidth=\fP\fIcolumns\fP .TP \fB-cblkheight=\fP\fIrows\fP .TP \fB-mode=\fP{\fBinteger\fP|\fBint\fP|\fBreal\fP} .TP \fB-ilyrrates=\fP[\fIrealnumber\fP[,\fIrealnumber\fP, ...]] .TP \fB-numrlvls=\fP\fInumber\fP .TP \fB-progression=\fP{\fBlrcp\fP|\fBrlcp\fP|\fBrpcl\fP|\fBpcrl\fP|\fBcprl\fP} .TP \fB-numgbits=\fP\fInumber\fP .TP \fB-nomct\fP .TP \fB-sop\fP .TP \fB-eph\fP .TP \fB-lazy\fP .TP \fB-termall\fP .TP \fB-segsym\fP .TP \fB-vcausal\fP .TP \fB-pterm\fP .TP \fB-resetprob\fP .PP گزینهٔ \fB-ilyrrates\fP (مخفف \(aqintermediate layer rates\(aq یا نرخ لایه‌های میانی) به شما امکان می‌دهد میزان فشرده‌سازی را در هر لایه کنترل کنید. تصویر فشرده‌شده به صورت لایه‌لایه مرتب می‌شود؛ بنابراین اگر آن را به صورت متوالی (سریال) به جایی ارسال کنید، داده‌های کافی برای ساخت یک تصویر با کیفیت پایین به‌سرعت می‌رسد، سپس در ادامه اطلاعات بیشتری برای ارتقای کیفیت تصویر دریافت می‌شود، و این روند تا رسیدن کل تصویر ادامه می‌یابد. مقدار این گزینه فهرستی از کسرهای صعودی است، مانند \(aq.1,.3,.5\(aq. هر کسر مشخص می‌کند که مجموع اندازهٔ لایه‌ها تا آن لایه (شامل خود آن لایه)، باید به چه کسری از اندازهٔ تصویر ورودی برسد. اگر اندازهٔ کل تصویر توسط \fB-compression\fP یا \fB-size\fP محدود شده باشد، هیچ‌یک از این اعداد نباید از آن حد تجاوز کند. .UN otheropts.SS "سایر گزینه‌ها (Other Options)" .TP \fB-compression=\fP\fIratio\fP \fIratio\fP یک عدد ممیز شناور است که نسبت فشرده‌سازی را مشخص می‌کند. \fBpamtojpeg2k\fP در صورت لزوم کیفیت را تنظیم می‌کند تا تضمین شود که این نسبت فشرده‌سازی حاصل می‌شود. برای مثال، ۴ به این معناست که حجم خروجی تقریباً یک‌چهارم اندازهٔ فایل ورودی بر حسب بایت خواهد بود. .sp این نسبت تنها به بخش شطرنجی (raster) تصویر مربوط می‌شود و مخرج آن حجمی است که تصویر شطرنجی در صورت کدگذاری به ساده‌ترین روش ممکن اشغال می‌کرد (مثلاً ۳ بایت به ازای هر پیکسل در RGB با ۸ بیت در هر نمونه). با این حال، این نسبت شامل متاداده‌هایی است که بخشی از تصویر شطرنجی فشرده‌شده هستند. به همین دلیل، ممکن است دستیابی به نسبت فشرده‌سازی درخواستی در هیچ کیفیتی ممکن نباشد. اگر چنین باشد، \fBpamtojpeg2k\fP با پیامی حاکی از این موضوع متوقف می‌شود. .sp اگر این گزینه را مشخص نکنید، \fBpamtojpeg2k\fP بهترین فشرده‌سازی ممکن را بدون هیچ‌گونه افت کیفیت ارائه می‌دهد. به دلیل مسئلهٔ متاداده که در بالا ذکر شد، این امر برای یک تصویر کوچک ممکن است در عمل به معنای بزرگ‌تر شدن حجم تصویر باشد. .sp این گزینه مقدار \(aqrate\(aq در کتابخانهٔ Jasper را کنترل می‌کند. توجه داشته باشید که گرچه کتابخانهٔ Jasper یک ضریب فشرده‌سازی دریافت می‌کند، این گزینه یک نسبت فشرده‌سازی را مشخص می‌نماید. ضریب فشرده‌سازی، معکوس ضربیِ (۱ تقسیم بر) نسبت فشرده‌سازی است. .sp نمی‌توانید این گزینه را همراه با \fB-size\fP مشخص کنید. .sp پیش از Netpbm 10.61 (دسامبر ۲۰۱۲)، مقدار پیش‌فرض نسبت فشرده‌سازی برابر با ۱ بود، و اگر \fBpamtojpeg2k\fP نمی‌توانست خروجی را تا آن حد کوچک کند، صرفاً تا جای ممکن آن را با کیفیت صفر فشرده می‌کرد. زمانی متوجه وقوع این حالت می‌شوید که پیام هشدار \(lqempty layer generated\(rq را مشاهده کنید. .TP \fB-size=\fP\fIbytes\fP این گزینه حداکثر اندازه بر حسب بایت را که می‌خواهید تصویر خروجی داشته باشد، مشخص می‌کند. این اندازه فراگیر است و شامل هدرها، تریلرها و سایر متاداده‌ها می‌شود. \fBpamtojpeg2k\fP تا جای ممکن اطلاعات را حذف می‌کند تا حجم فایل زیر این محدودیت قرار گیرد. .sp امکان دارد مقداری به طور غیرممکنی کوچک تعیین شود، برای مثال مقداری که حتی جایی برای هدر تصویر باقی نگذارد. اگر چنین کنید، برنامه با یک پیام توضیحی شکست می‌خورد. .sp این گزینه مقدار \(aqrate\(aq در کتابخانهٔ Jasper را کنترل می‌کند. .sp نمی‌توانید این گزینه را همراه با \fB-compression\fP مشخص کنید. .sp این گزینه در Netpbm 11.1 (دسامبر ۲۰۲۲) اضافه شده است. .TP \fB-verbose\fP این گزینه باعث می‌شود \fBpamtojpeg2k\fP پیام‌های اطلاعاتی دربارهٔ فرایند تبدیل صادر کند. .TP \fB-debuglevel\fP=\fInumber\fP این گزینه پیام‌های اشکال‌زدایی کتابخانهٔ Jasper را کنترل می‌کند. \fBpamtojpeg2k\fP مقدار \fInumber\fP را به عنوان سطح اشکال‌زدایی به رمزگذار Jasper JPC ارسال می‌کند. .UN examples .SH "مثال‌ها (EXAMPLES)" .PP این مثال فشرده‌سازی را بدون افت کیفیت انجام می‌دهد. .nf pamtojpeg2k myimg.ppm >myimg.jpc .fi \fBjpeg2ktopam\fP فایل myimg.ppm را دقیقاً بازسازی خواهد کرد. .PP این مثال فایل را به یک‌دهم اندازهٔ اصلی‌اش فشرده می‌کند و در صورت لزوم اطلاعات را دور می‌ریزد. .nf pamtojpeg2k -compression=10 myimg.pgm >myimg.jpc .fi .UN jpeg2000.SH "درباره JPEG-2000 (ABOUT JPEG-2000)" .PP فرمت JPEG-2000 قالبی است که یک تصویر بصری (یا مجموعه‌ای مشابه از داده‌ها) را برای ذخیره‌سازی یا انتقال، به حداقل تعداد بایت ممکن فشرده می‌کند. از این حیث، هدف آن مشابه JPEG است. با این حال دو تفاوت اصلی با JPEG دارد. .PP تفاوت نخست این است که در اکثر تصاویر، در حذف اطلاعات اضافی به منظور دستیابی به خروجی کوچک‌تر بسیار بهتر عمل می‌کند. این بدان معناست که وقتی تصویر را از فایل فشرده بازسازی می‌کنید، به ازای اندازه فایل فشرده یکسان، تصویر حاصل در JPEG-2000 نسبت به JPEG شباهت بسیار بیشتری به تصویر اولیه دارد. یا به بیانی دیگر، با JPEG-2000 برای یک کیفیت تصویر یکسان، به فایلی بسیار کوچک‌تر از JPEG دست می‌یابید. .PP تفاوت دوم این است که در JPEG-2000، شما تعیین می‌کنید چه مقدار فشرده‌سازی می‌خواهید و فشرده‌ساز کیفیت را متناسب با نیاز شما تنظیم می‌کند؛ در حالی که در JPEG، شما میزان کیفیت مورد نظر را مشخص می‌کنید و فشرده‌ساز اندازه خروجی را بر اساس آن تنظیم می‌کند. به عبارت دیگر، در JPEG-2000 کیفیت خروجی به میزان فشرده‌پذیری ورودی بستگی دارد، اما در JPEG، \fIاندازه\fP خروجی به میزان فشرده‌پذیری ورودی وابسته است. .PP با JPEG-2000 می‌توانید فشرده‌سازی بدون‌اتلاف (lossless) را تعیین کنید که امکان رقابت با GIF و PNG را به آن می‌دهد. در فرمت JPEG استاندارد همیشه مقداری از اطلاعات از دست می‌رود (البته شایعاتی مبنی بر وجود گونه‌های بدون‌اتلاف از JPEG نیز مطرح است). .PP فرمت JPEG بسیار قدیمی‌تر از JPEG-2000 و به مراتب محبوب‌تر است. JPEG یکی از محبوب‌ترین فرمت‌های گرافیکی دنیاست و تقریباً تمامی برنامه‌ها و ابزارهای گرافیکی آن را پشتیبانی می‌کنند. در نقطه مقابل، JPEG-2000 تقریباً ناشناخته باقی مانده است. .PP هیچ سازگاری مستقیمی بین JPEG و JPEG-2000 وجود ندارد. برنامه‌هایی که JPEG را می‌خوانند، به صورت خودکار قادر به خواندن JPEG-2000 نیستند و برعکس. .UN seealso .SH "همچنین ببینید (SEE ALSO)" .BR "jpeg2ktopam" (1)\c \&, .BR "pnmtojpeg" (1)\c \&, .BR "ppm" (1)\c \&, .BR "pgm" (1)\c \&, .BR "pbm" (1)\c \&, .BR "pam" (1)\c \&, .UN history .SH "تاریخچه (HISTORY)" .PP برنامه \fBpamtojpeg2k\fP در نگارش 10.12 (نوامبر ۲۰۰۲) به Netpbm اضافه شد. .SH "منبع مستندات (DOCUMENT SOURCE)" این صفحه راهنما توسط ابزار Netpbm با نام 'makeman' از منبع HTML تولید شده است. مستندات مرجع اصلی در نشانی زیر قرار دارد: .IP .B http://netpbm.sourceforge.net/doc/pamtojpeg2k.html .PP