.TH KVAZAAR "1" "September 2025" "kvazaar v2.3.2" "دستورهای کاربری" .SH "نام (NAME)" kvazaar \- انکودر متن‌باز ویدیو با استاندارد HEVC/H.265 .SH "خلاصه دستور (SYNOPSIS)" \fBkvazaar \fR\-i <ورودی> \-\-input\-res <عرض>x<ارتفاع> \-o <خروجی> .SH "توضیحات (DESCRIPTION)" .SS "ضروری (Required):" .TP \fB\-i\fR, \fB\-\-input <نام‌فایل>\fR فایل ورودی .TP \fB\-\-input\-res <وضوح>\fR وضوح تصویر ورودی [auto] \- auto: تشخیص خودکار از نام فایل. \- <عدد>x<عدد>: عرض در ارتفاع .TP \fB\-o\fR, \fB\-\-output <نام‌فایل>\fR فایل خروجی .SS "پیش‌تنظیم‌ها (Presets):" .TP \fB\-\-preset <پیش‌تنظیم>\fR تنظیم گزینه‌ها بر اساس یک پیش‌تنظیم [medium] \- ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow placebo .SS "ورودی (Input):" .TP \fB\-n\fR, \fB\-\-frames <عدد>\fR تعداد فریم‌ها برای کدگذاری [all] .TP \fB\-\-seek <عدد>\fR اولین فریم برای کدگذاری [0] .TP \fB\-\-input\-fps <صورت>[/<مخرج>]\fR نرخ فریم ویدیوی ورودی [25] .TP \fB\-\-source\-scan\-type <رشته>\fR نوع پویش مبدأ [progressive] \- progressive: پویش پیش‌رونده (Progressive) \- tff: فیلد بالایی اول (Top field first) \- bff: فیلد پایینی اول (Bottom field first) .TP \fB\-\-input\-format <رشته>\fR فرمت ورودی P420 یا P400 [P420] .TP \fB\-\-input\-bitdepth <عدد>\fR عمق بیتی ورودی بین ۸ تا ۱۶ [8] .TP \fB\-\-loop\-input\fR بازخوانی بی‌پایان فایل ورودی. .TP \fB\-\-input\-file\-format <رشته>\fR فرمت فایل ورودی [auto] \- auto: بررسی پسوند فایل برای تشخیص فرمت \- y4m (نادیده گرفتن هدر فریم‌ها) \- yuv .SS "گزینه‌ها (Options):" .TP \fB\-\-help\fR نمایش این پیام راهنما و خروج. .TP \fB\-\-version\fR نمایش اطلاعات نسخه و خروج. .TP \fB\-\-(no\-)aud\fR استفاده از جداکننده‌های واحد دسترسی (AUD). [غیرفعال] .TP \fB\-\-debug <نام‌فایل>\fR خروجی بازسازی داخلی. .TP \fB\-\-(no\-)cpuid\fR فعال‌سازی بهینه‌سازی‌های پردازنده در زمان اجرا. [فعال] .TP \fB\-\-hash <رشته>\fR هش تصویر رمزگشایی‌شده [checksum] \- none: ۰ بایت \- checksum: ۱۸ بایت \- md5: ۵۶ بایت .TP \fB\-\-(no\-)psnr\fR محاسبه مقدار PSNR برای فریم‌ها. [فعال] .TP \fB\-\-(no\-)info\fR افزودن اطلاعات انکودر به SEI. [فعال] .TP \fB\-\-(no\-)enable\-logging\fR فعال‌سازی لاگ‌برداری برای عملکرد عادی انکودر؛ پیام‌های خطا همیشه نمایش داده می‌شوند. [فعال] .TP \fB\-\-crypto <رشته>\fR رمزنگاری انتخابی. پشتیبانی از رمزنگاری باید هنگام کامپایل فعال شده باشد. می‌تواند 'on' یا 'off' یا فهرستی از ویژگی‌ها جدا شده با '+' باشد. [off] \- on: فعال‌سازی تمام ویژگی‌های رمزنگاری. \- off: غیرفعال‌سازی رمزنگاری انتخابی. \- mvs: بزرگی بردار حرکت. \- mv_signs: علامت بردار حرکت. \- trans_coeffs: بزرگی ضرایب تبدیل. \- trans_coeff_signs: علامت ضرایب تبدیل. \- intra_pred_modes: حالت‌های پیش‌بینی درون‌فریمی. .TP \fB\-\-key <رشته>\fR کلید رمزنگاری [16,213,27,56,255,127,242,112, 97,126,197,204,25,59,38,30] .TP \fB\-\-stats\-file\-prefix\fR پیشوندی برای فایل‌های آمار که شامل بیت‌ها، لامبدا، اعوجاج و QP برای هر CTU است. این فایل‌ها برای اشکال‌زدایی هستند و تنها در صورت تعریف پیشوند نوشته می‌شوند. .SS "ساختار ویدیو (Video structure):" .TP \fB\-q\fR, \fB\-\-qp <عدد>\fR پارامتر کوانتیزاسیون [22] .TP \fB\-p\fR, \fB\-\-period <عدد>\fR دوره تناوب تصاویر درون‌فریمی (Intra) [64] \- 0: فقط تصویر اول درون‌فریمی است. \- 1: تمام تصاویر درون‌فریمی هستند. \- N: هر Nمین تصویر درون‌فریمی است. .TP \fB\-\-vps\-period <عدد>\fR فاصله ارسال مجدد مجموعه پارامترهای ویدیو (VPS) [0] \- 0: ارسال VPS تنها همراه با فریم اول. \- N: ارسال VPS همراه با هر Nمین فریم درون‌فریمی. .TP \fB\-r\fR, \fB\-\-ref <عدد>\fR تعداد فریم‌های مرجع در بازه ۱ تا ۱۵ [4] .TP \fB\-\-gop <رشته>\fR ساختار GOP [16] \- 0: غیرفعال \- 8: هرم B\-frame با طول ۸ \- 16: هرم B\-frame با طول ۱۶ \- lp\-<رشته>: ساختار GOP با تأخیر کم P/B\-frame (مانند lp\-g8d4t2، به README مراجعه کنید) .TP \fB\-\-intra\-qp\-offset <عدد>\fR: آفست QP برای فریم‌های درون‌فریمی [\-51..51] [auto] \- N: تنظیم آفست QP روی N. \- auto: انتخاب خودکار آفست بر اساس طول GOP. .TP \fB\-\-(no\-)open\-gop\fR استفاده از پیکربندی GOP باز. [فعال] .TP \fB\-\-cqmfile <نام‌فایل>\fR خواندن ماتریس‌های کوانتیزاسیون سفارشی از یک فایل. .TP \fB\-\-scaling\-list <رشته>\fR: تنظیم حالت فهرست مقیاس‌بندی. [off] \- off: غیرفعال‌سازی فهرست‌های مقیاس‌بندی. \- custom: استفاده از فهرست سفارشی (همراه با \-\-cqmfile). \- default: استفاده از فهرست‌های پیش‌فرض. .TP \fB\-\-bitrate <عدد>\fR بیت‌ریت هدف [0] \- 0: غیرفعال‌سازی کنترل نرخ (Rate Control). \- N: هدف‌گذاری N بیت در ثانیه. .TP \fB\-\-rc\-algorithm <رشته>\fR: انتخاب الگوریتم کنترل نرخ. [lambda] \- lambda: کنترل نرخ بر پایه مقاله: DOI: 10.1109/TIP.2014.2336550 \- oba: مقاله: DOI: 10.1109/TCSVT.2016.2589878 .TP \fB\-\-(no\-)intra\-bits\fR استفاده از تخصیص بر پایه هزینه Hadamard برای فریم‌های درون‌فریمی. به طور پیش‌فرض برای gop 8 فعال و برای lp\-gop غیرفعال است. .TP \fB\-\-(no\-)clip\-neighbour\fR در کنترل نرخ oba تعیین می‌کند که مقادیر لامبدا به CTUهای همان فریم محدود شوند یا فریم قبلی. به طور پیش‌فرض برای RA GOPها فعال و برای LP غیرفعال است. .TP \fB\-\-(no\-)lossless\fR استفاده از کدگذاری بدون اتلاف. [غیرفعال] .TP \fB\-\-mv\-constraint <رشته>\fR محدود کردن بردارهای حرکت. [none] \- none: بدون محدودیت \- frametile: محدود به درون تایل. \- frametilemargin: محدودیت بیشتر. .TP \fB\-\-roi <نام‌فایل>\fR استفاده از نقشه دلتای QP برای ناحیه مورد نظر (ROI). مجموعه‌ای از مقادیر دلتای QP را از فایل می‌خواند. فایل‌های متنی و باینری پشتیبانی شده و از روی پسوند فایل (.txt/.bin) تشخیص داده می‌شوند. در صورت عدم تشخیص پسوند، فایل متنی فرض می‌شود. فایل می‌تواند شامل یک یا چند فریم ROI با فرمت زیر باشد: عرض و ارتفاع نقشه دلتای QP و به دنبال آن عرض * ارتفاع مقدار دلتای QP به ترتیب رستر (Raster). در فرمت باینری، عرض و ارتفاع اعداد صحیح ۳۲ بیتی هستند در حالی که مقادیر دلتای QP مقادیر ۸ بیتی علامت‌دار می‌باشند. نقشه می‌تواند هر اندازه‌ای داشته باشد و به اندازه ویدیو مقیاس‌بندی خواهد شد. خواندن فایل در صورت رسیدن به انتها تکرار می‌شود. فایل roi.txt را در پوشه examples ببینید. .TP \fB\-\-set\-qp\-in\-cu\fR تنظیم QP در سطح CU با صفر نگه داشتن pic_init_qp_minus26 در PPS و slice_qp_delta در هدر اسلایس. .TP \fB\-\-(no\-)erp\-aqp\fR استفاده از QP تطبیقی برای ویدیوی ۳۶۰ درجه با تصویرسازی استوانه‌ای متساوی‌المستطیل (Equirectangular). [غیرفعال] .TP \fB\-\-level <عدد>\fR استفاده از سطح مشخص HEVC در خروجی و اعلام خطا در صورت فراتر رفتن از محدودیت‌های سطح. [6.2] \- 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6, 6.1, 6.2 .TP \fB\-\-force\-level <عدد>\fR مشابه \-\-level اما به جای خطا فقط هشدار می‌دهد. .TP \fB\-\-high\-tier\fR همراه با \-\-level استفاده می‌شود. استفاده از محدودیت‌های بیت‌ریت سطح بالا (High Tier) به جای محدودیت‌های Main Tier هنگام کدگذاری. سطح بالا نیازمند سطح ۴ یا بالاتر است. .TP \fB\-\-(no\-)vaq <عدد>\fR فعال‌سازی کوانتیزاسیون تطبیقی واریانس با شدت مشخص، در بازه ۱ تا ۲۰. مقدار پیشنهادی: ۵. [غیرفعال] .SS "ابزارهای فشرده‌سازی (Compression tools):" .TP \fB\-\-(no\-)deblock \fR فیلتر بلوک‌زدایی (Deblocking filter). [0:0] \- beta: بین \-6 و 6 \- tc: بین \-6 و 6 .TP \fB\-\-sao <رشته>\fR آفست تطبیقی نمونه (SAO) [full] \- off: غیرفعال‌سازی SAO \- band: فقط آفست باند (Band) \- edge: فقط آفست لبه (Edge) \- full: اجرای کامل SAO .TP \fB\-\-(no\-)rdoq\fR کوانتیزاسیون بهینه‌سازی‌شده بر پایه نرخ-اعوجاج (RDOQ) [فعال] .TP \fB\-\-(no\-)rdoq\-skip\fR صرف‌نظر از RDOQ برای بلوک‌های 4x4. [غیرفعال] .TP \fB\-\-(no\-)signhide\fR پنهان‌سازی علامت ضرایب (Sign hiding) [غیرفعال] .TP \fB\-\-(no\-)smp\fR افراز حرکتی متقارن (SMP) [غیرفعال] .TP \fB\-\-(no\-)amp\fR افراز حرکتی نامتقارن (AMP) [غیرفعال] .TP \fB\-\-rd <عدد>\fR پیچیدگی جستجوی حالت [0] \- 0: صرف‌نظر از حالت درون‌فریمی در صورت مناسب بودن بین‌فریمی. \- 1: جستجوی تقریبی حالت درون‌فریمی با SATD. \- 2: بهبود جستجوی حالت با SSE. \- 3: کاندیداهای SSE بیشتر برای جستجوی حالت بین‌فریمی و کروما برای 4x4 درون‌فریمی. \- 4: کاندیداهای SSE باز هم بیشتر برای هر دو حالت. \- 5: آزمایش تمام حالت‌های درون‌فریمی. .TP \fB\-\-(no\-)mv\-rdo\fR هزینه‌های بردار حرکت بهینه‌سازی‌شده بر پایه نرخ-اعوجاج [غیرفعال] .TP \fB\-\-(no\-)zero\-coeff\-rdo\fR اگر یک CU از نوع بین‌فریمی باشد، بررسی می‌کند که آیا صفر کردن باقیمانده باعث بهبود هزینه RD می‌شود یا خیر. [فعال] .TP \fB\-\-(no\-)full\-intra\-search\fR آزمایش تمام حالت‌های درون‌فریمی در طول جستجوی تقریبی. [غیرفعال] .TP \fB\-\-(no\-)intra\-chroma\-search\fR بررسی حالت‌های کروما درون‌فریمی غیراشتقاقی. [غیرفعال] .TP \fB\-\-(no\-)transform\-skip\fR بررسی پرش از تبدیل (Transform Skip) [غیرفعال] .TP \fB\-\-me <رشته>\fR الگوریتم تخمین حرکت با عدد صحیح [hexbs] \- hexbs: جستجوی شش‌ضلعی (Hexagon Based Search) \- tz: جستجوی ناحیه آزمایشی (Test Zone Search) \- full: جستجوی کامل (Full Search) \- full8, full16, full32, full64 \- dia: جستجوی لوزی (Diamond Search) .TP \fB\-\-me\-steps <عدد>\fR محدودیت گام‌های جستجوی تخمین حرکت. تنها روی 'hexbs' و 'dia' تأثیر دارد. [\-1] .TP \fB\-\-subme <عدد>\fR سطح تخمین حرکت زیرپیکسلی [4] \- 0: فقط تخمین حرکت پیکسلی صحیح \- 1: + ۱/۲ پیکسل افقی و عمودی \- 2: + ۱/۲ پیکسل مورب \- 3: + ۱/۴ پیکسل افقی و عمودی \- 4: + ۱/۴ پیکسل مورب .TP \fB\-\-(no\-)fast\-bipred\fR اجرای تنها جستجوی سریع پیش‌بینی دوگانه (Bipred). [فعال] .TP \fB\-\-pu\-depth\-inter <عدد>\-<عدد>\fR اندازه‌های واحدهای پیش‌بینی بین‌فریمی [0\-3] \- 0, 1, 2, 3: از 64x64 تا 8x8 \- فهرستی از مقادیر جدا شده با ',' را برای تنظیم عمق‌های جداگانه در هر لایه GOP می‌پذیرد (می‌توان مقادیر را حذف کرد تا مقدار اول برای لایه مربوطه استفاده شود). .TP \fB\-\-pu\-depth\-intra <عدد>\-<عدد>\fR اندازه‌های واحدهای پیش‌بینی درون‌فریمی [1\-4] \- 0, 1, 2, 3, 4: از 64x64 تا 4x4 \- فهرستی از مقادیر جدا شده با ',' را برای تنظیم عمق‌های جداگانه در هر لایه GOP می‌پذیرد (می‌توان مقادیر را حذف کرد تا مقدار اول برای لایه مربوطه استفاده شود). .TP \fB\-\-ml\-pu\-depth\-intra\fR پیش‌بینی pu\-depth\-intra با استفاده از درخت‌های یادگیری ماشین، بازنویسی پارامتر \-\-pu\-depth\-intra. [غیرفعال] .TP \fB\-\-(no\-)combine\-intra\-cus\fR: این که آیا انکودر سعی می‌کند یک CU را در عمق پایین‌تر کدگذاری کند حتی زمانی که جستجو روی آن عمق انجام نشده باشد یا خیر. فقط باید زمانی غیرفعال شود که CUها مطلقاً نباید بزرگ‌تر از محدودیت جستجو باشند. [فعال] .TP \fB\-\-force\-inter\fR اجبار انکودر به استفاده همیشگی از حالت بین‌فریمی (Inter). این گزینه عمدتاً برای اشکال‌زدایی است و تضمینی برای تولید بیت‌استریم معتبر یا کارکرد صحیح ندارد. [غیرفعال] .TP \fB\-\-tr\-depth\-intra <عدد>\fR عمق تقسیم تبدیل برای بلوک‌های درون‌فریمی [0] .TP \fB\-\-(no\-)bipred\fR پیش‌بینی دوگانه (Bi-prediction) [فعال] .TP \fB\-\-cu\-split\-termination <رشته>\fR خاتمه جستجوی تقسیم CU [zero] \- off: خاتمه زودهنگام صورت نگیرد. \- zero: خاتمه در زمان صفر بودن باقیمانده. .TP \fB\-\-me\-early\-termination <رشته>\fR خاتمه تخمین حرکت [on] \- off: خاتمه زودهنگام صورت نگیرد. \- on: خاتمه زودهنگام. \- sensitive: خاتمه حتی زودتر. .TP \fB\-\-fast\-residual\-cost <عدد>\fR صرف‌نظر از هزینه CABAC برای ضرایب باقیمانده زمانی که QP کمتر از حد باشد. [0] .TP \fB\-\-fast\-coeff\-table <رشته>\fR خواندن وزن‌های سفارشی برای ضرایب باقیمانده از فایل به جای استفاده از مقادیر پیش‌فرض [default] .TP \fB\-\-fast\-rd\-sampling\fR فعال‌سازی نمونه‌برداری داده‌های یادگیری برای تولید جدول سریع ضرایب. .TP \fB\-\-fastrd\-accuracy\-check\fR ارزیابی دقت پیش‌بینی سریع ضرایب. .TP \fB\-\-fastrd\-outdir\fR دایرکتوری خروجی داده‌های نمونه‌برداری‌شده یا داده‌های دقت، در قالب فایل‌های /0.txt تا 50.txt، یک فایل به ازای هر QP که بلوک‌ها بر اساس آن تخمین زده شده‌اند. .TP \fB\-\-(no\-)intra\-rdo\-et\fR بررسی حالت‌های درون‌فریمی در مرحله RDO تنها تا زمانی که یک CU با ضریب صفر پیدا شود. [غیرفعال] .TP \fB\-\-(no\-)early\-skip\fR تلاش برای یافتن skip cu از میان کاندیداهای merge. در صورت یافتن skip، جستجوی بیشتری انجام نمی‌شود. برای rd=0..1: اولین کاندیدا را امتحان می‌کند. برای rd=2..: بهترین کاندیدا را بر اساس هزینه luma satd امتحان می‌کند. [فعال] .TP \fB\-\-max\-merge <عدد>\fR حداکثر تعداد کاندیداهای merge، از ۱ تا ۵ [5] .TP \fB\-\-(no\-)implicit\-rdpcm\fR الگوریتم DPCM باقیمانده ضمنی. در حال حاضر فقط با کدگذاری بدون اتلاف پشتیبانی می‌شود. [غیرفعال] .TP \fB\-\-(no\-)tmvp\fR پیش‌بینی بردار حرکت زمانی (TMVP) [فعال] .SS "پردازش موازی (Parallel processing):" .TP \fB\-\-threads <عدد>\fR تعداد رشته‌های پردازشی (Threads) مورد استفاده [auto] \- 0: پردازش همه‌چیز با رشته اصلی. \- N: استفاده از N رشته پردازشی برای کدگذاری. \- auto: انتخاب خودکار. .TP \fB\-\-owf <عدد>\fR موازی‌سازی در سطح فریم [auto] \- N: پردازش N+1 فریم به طور همزمان. \- auto: انتخاب خودکار. .TP \fB\-\-(no\-)wpp\fR پردازش موازی Wavefront (WPP). [فعال] فعال‌سازی تایل‌ها به طور خودکار WPP را غیرفعال می‌کند. برای فعال‌سازی همزمان WPP با تایل‌ها، پس از فعال‌سازی تایل‌ها آن را دوباره فعال کنید. البته فعال‌سازی WPP همراه با تایل‌ها یک ویژگی آزمایشی است زیرا در هیچ پروفایل HEVC پشتیبانی نمی‌شود. .TP \fB\-\-tiles <عرض>x<ارتفاع>\fR تقسیم تصویر به تایل‌های یکنواخت با ابعاد عرض در ارتفاع. .TP \fB\-\-tiles\-width\-split <رشته>|u<عدد>\fR \- <رشته>: فهرستی از مختصات پیکسلی ستون‌های تایل جدا شده با کاما. \- u<عدد>: تعداد ستون‌های تایل با عرض یکنواخت. .TP \fB\-\-tiles\-height\-split <رشته>|u<عدد>\fR \- <رشته>: فهرستی از مختصات پیکسلی سطرهای تایل جدا شده با کاما. \- u<عدد>: تعداد سطرهای تایل با ارتفاع یکنواخت. .TP \fB\-\-slices <رشته>\fR کنترل نحوه استفاده از اسلایس‌ها. \- tiles: قرار دادن تایل‌ها در اسلایس‌های مستقل. \- wpp: قرار دادن سطرها در اسلایس‌های وابسته. \- tiles+wpp: انجام هر دو مورد. .TP \fB\-\-partial\-coding <آفست\-x>!<آفست\-y>!<عرض\-اسلایس>!<ارتفاع\-اسلایس>\fR کدگذاری جزئی فریم. بخش‌ها باید برای تشکیل یک بیت‌استریم معتبر ادغام شوند. مقادیر X و Y آفست‌های CTU هستند. عرض و ارتفاع اسلایس باید بر حسب پیکسل بر CTU بخش‌پذیر باشند مگر اینکه آخرین سطر/ستون CTU باشد. این پارامتر توسط kvaShare استفاده می‌شود. .SS "اطلاعات کاربردپذیری ویدیو (VUI):" .TP \fB\-\-sar <عرض:ارتفاع>\fR تعیین نسبت ابعاد نمونه (SAR) .TP \fB\-\-overscan <رشته>\fR تعیین تنظیمات Overscan برش [undef] \- undef, show, crop .TP \fB\-\-videoformat <رشته>\fR تعیین فرمت ویدیو [undef] \- undef, component, pal, ntsc, secam, mac .TP \fB\-\-range <رشته>\fR تعیین گستره رنگ [tv] \- tv, pc .TP \fB\-\-colorprim <رشته>\fR تعیین مشخصات رنگ‌های اصلی (Color Primaries) [undef] \- undef, bt709, bt470m, bt470bg, smpte170m, smpte240m, film, bt2020 .TP \fB\-\-transfer <رشته>\fR تعیین مشخصات انتقال (Transfer Characteristics) [undef] \- undef, bt709, bt470m, bt470bg, smpte170m, smpte240m, linear, log100, log316, iec61966\-2\-4, bt1361e, iec61966\-2\-1, bt2020\-10, bt2020\-12 .TP \fB\-\-colormatrix <رشته>\fR تعیین ماتریس رنگ [undef] \- undef, bt709, fcc, bt470bg, smpte170m, smpte240m, GBR, YCgCo, bt2020nc, bt2020c .TP \fB\-\-chromaloc <عدد>\fR تعیین موقعیت نمونه کروما (۰ تا ۵) [0]