THotPDF.OptimizeLoadedImagesByVisualCost Method

برای تصاویر JPEG و JPEG 2000 بارگذاری‌شدهٔ واجد شرایط یک جست‌وجوی کیفیت محدودشده اجرا می‌کند و ارزان‌ترین کاندیدایی را که هم حد کیفیت و هم حد صرفه‌جویی را برآورده کند می‌پذیرد

اعلان

function OptimizeLoadedImagesByVisualCost(
    const Options: THPDFImageRecompressionCostOptions;
    out AInfo: THPDFImageRecompressionCostInfo): Integer;

Cost model

هر کاندیدای کدگذاری‌شده رمزگشایی می‌شود و از طریق residualهای luma و chroma نمونه‌برداری‌شده، روی مقیاس خطای ادراکی نرمال‌شدهٔ صفر تا 100 با منبع رمزگشایی‌شده مقایسه می‌شود

Candidates above MaximumPerceptualError or below MinimumSavingsBytes are rejected before scoring

score = VisualErrorWeight * sqr(error / MaximumPerceptualError)
      + ByteCostWeight * (candidateBytes / sourceBytes)

پایین‌ترین امتیاز برنده می‌شود؛ در صورت تساوی، اندازهٔ کدگذاری‌شدهٔ کوچک‌تر و بعد کیفیت بالاتر ملاک است، بنابراین اجراهای تکراری خروجی یکسان می‌دهند

THPDFImageRecompressionCostOptions

MinimumQuality، MaximumQuality و QualityStep آزمایش‌های محدود کیفیت را تعریف می‌کنند و حداکثر کیفیت همیشه لحاظ می‌شود، حتی اگر step بر بازه بخش‌پذیر نباشد

SampleStride نمونه‌برداری قطعی از پیکسل‌ها را از 1 تا 64 کنترل می‌کند، و دو وزن نامنفی به فراخواننده اجازه می‌دهند وفاداری بصری یا خروجی فشرده را ترجیح دهد

THPDFImageRecompressionCostOptions.Default کیفیت 30 تا 90 را با گام 10 جست‌وجو می‌کند، خطای ادراکی را به 3 محدود می‌کند، صرفه‌جویی حداقل یک بایت را الزامی می‌داند، از هر پیکسلِ چهارم در هر بعد نمونه می‌گیرد و خطای بصری و هزینهٔ بایتی را هم‌وزن حساب می‌کند

THPDFImageRecompressionCostInfo

نتیجه تعداد تصاویر اسکن‌شده و واجد شرایط، بازنویسی‌های JPEG و JPEG 2000، آزمایش‌های کدگذاری، ردهای مبتنی بر خطای بصری و هزینهٔ بایتی، مجموع کیفیت‌های انتخاب‌شده، بیشترین خطای ادراکی پذیرفته‌شده، مجموع بایت‌ها و وضعیت DeterministicSelection را گزارش می‌دهد

Safety

image maskها، colour-key maskها، رنگ‌های spot، تصاویر Lab و منابع ICCBased غیر RGB بدون تغییر می‌مانند، در حالی که منابع RGB کالیبره‌شدهٔ قابل تبدیل، یک فضای رنگ خروجی کالیبرهٔ صریح را حفظ می‌کنند

لغو پیش از هر تصویر و هر آزمایش کدگذاری بررسی می‌شود و تا وقتی یک کاندیدای کامل و پذیرفته‌شده انتخاب نشده باشد، هیچ stream منبعی جایگزین نمی‌شود

Resource and Image Optimisation